diff --git a/app/src/androidTest/java/org/isoron/uhabits/BaseTest.java b/app/src/androidTest/java/org/isoron/uhabits/BaseTest.java index 5515b5121..2cf353d2f 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/BaseTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/BaseTest.java @@ -24,8 +24,8 @@ import android.os.Build; import android.os.Looper; import android.support.test.InstrumentationRegistry; -import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.DateUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.tasks.BaseTask; import org.junit.Before; @@ -51,8 +51,8 @@ public class BaseTest targetContext = InstrumentationRegistry.getTargetContext(); testContext = InstrumentationRegistry.getContext(); - UIHelper.setFixedTheme(R.style.AppBaseTheme); - DateHelper.setFixedLocalTime(FIXED_LOCAL_TIME); + InterfaceUtils.setFixedTheme(R.style.AppBaseTheme); + DateUtils.setFixedLocalTime(FIXED_LOCAL_TIME); } protected void waitForAsyncTasks() throws InterruptedException, TimeoutException diff --git a/app/src/androidTest/java/org/isoron/uhabits/ui/MainTest.java b/app/src/androidTest/java/org/isoron/uhabits/ui/MainTest.java index 5dde5c695..e26fd2f17 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/ui/MainTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/ui/MainTest.java @@ -29,10 +29,10 @@ import android.support.test.espresso.intent.rule.IntentsTestRule; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.LargeTest; -import org.isoron.uhabits.MainActivity; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.Habit; +import org.isoron.uhabits.MainActivity; import org.junit.After; import org.junit.Before; import org.junit.Rule; @@ -300,7 +300,7 @@ public class MainTest clickMenuItem(R.string.settings); - String date = DateHelper.getBackupDateFormat().format(DateHelper.getLocalTime()); + String date = DateUtils.getBackupDateFormat().format(DateUtils.getLocalTime()); date = date.substring(0, date.length() - 2); clickSettingsItem("Export full backup"); diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/HabitFixtures.java b/app/src/androidTest/java/org/isoron/uhabits/unit/HabitFixtures.java index 09298bb08..16c16cccf 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/HabitFixtures.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/HabitFixtures.java @@ -23,8 +23,9 @@ import android.content.Context; import android.support.annotation.Nullable; import android.util.Log; -import org.isoron.uhabits.helpers.DatabaseHelper; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DatabaseUtils; +import org.isoron.uhabits.utils.FileUtils; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.tasks.BaseTask; import org.isoron.uhabits.tasks.ExportDBTask; @@ -50,11 +51,11 @@ public class HabitFixtures habit.freqDen = 3; habit.save(); - long timestamp = DateHelper.getStartOfToday(); + long timestamp = DateUtils.getStartOfToday(); for(boolean c : NON_DAILY_HABIT_CHECKS) { if(c) habit.repetitions.toggle(timestamp); - timestamp -= DateHelper.millisecondsInOneDay; + timestamp -= DateUtils.millisecondsInOneDay; } return habit; @@ -80,8 +81,8 @@ public class HabitFixtures habit.color = 4; habit.save(); - long day = DateHelper.millisecondsInOneDay; - long today = DateHelper.getStartOfToday(); + long day = DateUtils.millisecondsInOneDay; + long today = DateUtils.getStartOfToday(); 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}; @@ -97,7 +98,7 @@ public class HabitFixtures final int nHabits = 30; final int nYears = 5; - DatabaseHelper.executeAsTransaction(new DatabaseHelper.Command() + DatabaseUtils.executeAsTransaction(new DatabaseUtils.Command() { @Override public void execute() @@ -112,8 +113,8 @@ public class HabitFixtures habit.name = String.format("Habit %d", i); habit.save(); - long today = DateHelper.getStartOfToday(); - long day = DateHelper.millisecondsInOneDay; + long today = DateUtils.getStartOfToday(); + long day = DateUtils.millisecondsInOneDay; for(int j = 0; j < 365 * nYears; j++) @@ -147,12 +148,12 @@ public class HabitFixtures public static void loadHugeDataSet(Context testContext) throws Throwable { - File baseDir = DatabaseHelper.getFilesDir("Backups"); + File baseDir = FileUtils.getFilesDir("Backups"); if(baseDir == null) fail("baseDir should not be null"); File dst = new File(String.format("%s/%s", baseDir.getPath(), "loopHuge.db")); InputStream in = testContext.getAssets().open("fixtures/loopHuge.db"); - DatabaseHelper.copy(in, dst); + FileUtils.copy(in, dst); ImportDataTask task = new ImportDataTask(dst, null); task.execute(); diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/commands/ToggleRepetitionCommandTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/commands/ToggleRepetitionCommandTest.java index 9d427d154..95993fbaa 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/commands/ToggleRepetitionCommandTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/commands/ToggleRepetitionCommandTest.java @@ -24,7 +24,7 @@ import android.test.suitebuilder.annotation.SmallTest; import org.isoron.uhabits.BaseTest; import org.isoron.uhabits.commands.ToggleRepetitionCommand; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.unit.HabitFixtures; import org.junit.Before; @@ -50,7 +50,7 @@ public class ToggleRepetitionCommandTest extends BaseTest habit = HabitFixtures.createShortHabit(); - today = DateHelper.getStartOfToday(); + today = DateUtils.getStartOfToday(); command = new ToggleRepetitionCommand(habit, today); } diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/io/HabitsCSVExporterTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/io/HabitsCSVExporterTest.java index 2091d7aa3..395952075 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/io/HabitsCSVExporterTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/io/HabitsCSVExporterTest.java @@ -25,7 +25,7 @@ import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; import org.isoron.uhabits.BaseTest; -import org.isoron.uhabits.helpers.DatabaseHelper; +import org.isoron.uhabits.utils.FileUtils; import org.isoron.uhabits.io.HabitsCSVExporter; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.unit.HabitFixtures; @@ -79,7 +79,7 @@ public class HabitsCSVExporterTest extends BaseTest File parent = outputFile.getParentFile(); if(parent != null) parent.mkdirs(); - DatabaseHelper.copy(stream, outputFile); + FileUtils.copy(stream, outputFile); } zip.close(); diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/io/ImportTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/io/ImportTest.java index 8f6f3fbe0..2e1301bd2 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/io/ImportTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/io/ImportTest.java @@ -25,8 +25,8 @@ import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; import org.isoron.uhabits.BaseTest; -import org.isoron.uhabits.helpers.DatabaseHelper; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.FileUtils; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.io.GenericImporter; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.unit.HabitFixtures; @@ -58,18 +58,18 @@ public class ImportTest extends BaseTest public void setup() { super.setup(); - DateHelper.setFixedLocalTime(null); + DateUtils.setFixedLocalTime(null); HabitFixtures.purgeHabits(); context = InstrumentationRegistry.getInstrumentation().getContext(); - baseDir = DatabaseHelper.getFilesDir("Backups"); + baseDir = FileUtils.getFilesDir("Backups"); if(baseDir == null) fail("baseDir should not be null"); } private void copyAssetToFile(String assetPath, File dst) throws IOException { InputStream in = context.getAssets().open(assetPath); - DatabaseHelper.copy(in, dst); + FileUtils.copy(in, dst); } private void importFromFile(String assetFilename) throws IOException @@ -87,7 +87,7 @@ public class ImportTest extends BaseTest private boolean containsRepetition(Habit h, int year, int month, int day) { - GregorianCalendar date = DateHelper.getStartOfTodayCalendar(); + GregorianCalendar date = DateUtils.getStartOfTodayCalendar(); date.set(year, month - 1, day); return h.repetitions.contains(date.getTimeInMillis()); } @@ -133,7 +133,7 @@ public class ImportTest extends BaseTest assertThat(habit.reminderHour, equalTo(8)); assertThat(habit.reminderMin, equalTo(0)); boolean[] reminderDays = {false, true, true, true, true, true, false}; - assertThat(habit.reminderDays, equalTo(DateHelper.packWeekdayList(reminderDays))); + assertThat(habit.reminderDays, equalTo(DateUtils.packWeekdayList(reminderDays))); } @Test diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/models/CheckmarkListTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/models/CheckmarkListTest.java index 5763892b8..98b05f0d7 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/models/CheckmarkListTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/models/CheckmarkListTest.java @@ -23,7 +23,7 @@ import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; import org.isoron.uhabits.BaseTest; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.unit.HabitFixtures; import org.junit.After; @@ -60,7 +60,7 @@ public class CheckmarkListTest extends BaseTest @After public void tearDown() { - DateHelper.setFixedLocalTime(null); + DateUtils.setFixedLocalTime(null); } @Test @@ -121,8 +121,8 @@ public class CheckmarkListTest extends BaseTest @Test public void test_getValues_withValidInterval() { - long from = DateHelper.getStartOfToday() - 15 * DateHelper.millisecondsInOneDay; - long to = DateHelper.getStartOfToday() - 5 * DateHelper.millisecondsInOneDay; + long from = DateUtils.getStartOfToday() - 15 * DateUtils.millisecondsInOneDay; + long to = DateUtils.getStartOfToday() - 5 * DateUtils.millisecondsInOneDay; int[] expectedValues = { CHECKED_EXPLICITLY, UNCHECKED, CHECKED_IMPLICITLY, CHECKED_EXPLICITLY, CHECKED_EXPLICITLY, UNCHECKED, UNCHECKED, UNCHECKED, UNCHECKED, @@ -169,7 +169,7 @@ public class CheckmarkListTest extends BaseTest private void travelInTime(int days) { - DateHelper.setFixedLocalTime(FIXED_LOCAL_TIME + - days * DateHelper.millisecondsInOneDay); + DateUtils.setFixedLocalTime(FIXED_LOCAL_TIME + + days * DateUtils.millisecondsInOneDay); } } diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/models/HabitTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/models/HabitTest.java index f09664031..518b64004 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/models/HabitTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/models/HabitTest.java @@ -24,7 +24,7 @@ import android.test.suitebuilder.annotation.SmallTest; import org.hamcrest.MatcherAssert; import org.isoron.uhabits.BaseTest; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.unit.HabitFixtures; import org.junit.Before; @@ -285,7 +285,7 @@ public class HabitTest extends BaseTest Habit habit = new Habit(); if(i % 2 == 0) { - habit.reminderDays = DateHelper.ALL_WEEK_DAYS; + habit.reminderDays = DateUtils.ALL_WEEK_DAYS; habit.reminderHour = 8; habit.reminderMin = 30; habitsWithReminder.add(habit); @@ -350,7 +350,7 @@ public class HabitTest extends BaseTest Habit h = new Habit(); assertThat(h.hasReminder(), is(false)); - h.reminderDays = DateHelper.ALL_WEEK_DAYS; + h.reminderDays = DateUtils.ALL_WEEK_DAYS; h.reminderHour = 8; h.reminderMin = 30; assertThat(h.hasReminder(), is(true)); diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/models/RepetitionListTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/models/RepetitionListTest.java index 2b152a25f..8acf02ab7 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/models/RepetitionListTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/models/RepetitionListTest.java @@ -23,7 +23,7 @@ import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; import org.isoron.uhabits.BaseTest; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Repetition; import org.isoron.uhabits.unit.HabitFixtures; @@ -62,31 +62,31 @@ public class RepetitionListTest extends BaseTest @After public void tearDown() { - DateHelper.setFixedLocalTime(null); + DateUtils.setFixedLocalTime(null); } @Test public void test_contains() { - long current = DateHelper.getStartOfToday(); + long current = DateUtils.getStartOfToday(); for(boolean b : HabitFixtures.NON_DAILY_HABIT_CHECKS) { assertThat(habit.repetitions.contains(current), equalTo(b)); - current -= DateHelper.millisecondsInOneDay; + current -= DateUtils.millisecondsInOneDay; } for(int i = 0; i < 3; i++) { assertThat(habit.repetitions.contains(current), equalTo(false)); - current -= DateHelper.millisecondsInOneDay; + current -= DateUtils.millisecondsInOneDay; } } @Test public void test_delete() { - long timestamp = DateHelper.getStartOfToday(); + long timestamp = DateUtils.getStartOfToday(); assertThat(habit.repetitions.contains(timestamp), equalTo(true)); habit.repetitions.delete(timestamp); @@ -96,7 +96,7 @@ public class RepetitionListTest extends BaseTest @Test public void test_toggle() { - long timestamp = DateHelper.getStartOfToday(); + long timestamp = DateUtils.getStartOfToday(); assertThat(habit.repetitions.contains(timestamp), equalTo(true)); habit.repetitions.toggle(timestamp); @@ -117,11 +117,11 @@ public class RepetitionListTest extends BaseTest for(Integer row[] : weekdayCount) Arrays.fill(row, 0); - GregorianCalendar day = DateHelper.getStartOfTodayCalendar(); + GregorianCalendar day = DateUtils.getStartOfTodayCalendar(); // Sets the current date to the end of November day.set(2015, 10, 30); - DateHelper.setFixedLocalTime(day.getTimeInMillis()); + DateUtils.setFixedLocalTime(day.getTimeInMillis()); // Add repetitions randomly from January to December // Leaves the month of March empty, to check that it returns null @@ -168,19 +168,19 @@ public class RepetitionListTest extends BaseTest @Test public void test_count() { - long to = DateHelper.getStartOfToday(); - long from = to - 9 * DateHelper.millisecondsInOneDay; + long to = DateUtils.getStartOfToday(); + long from = to - 9 * DateUtils.millisecondsInOneDay; assertThat(habit.repetitions.count(from, to), equalTo(6)); - to = DateHelper.getStartOfToday() - DateHelper.millisecondsInOneDay; - from = to - 5 * DateHelper.millisecondsInOneDay; + to = DateUtils.getStartOfToday() - DateUtils.millisecondsInOneDay; + from = to - 5 * DateUtils.millisecondsInOneDay; assertThat(habit.repetitions.count(from, to), equalTo(3)); } @Test public void test_getOldest() { - long expectedOldestTimestamp = DateHelper.getStartOfToday() - 9 * DateHelper.millisecondsInOneDay; + long expectedOldestTimestamp = DateUtils.getStartOfToday() - 9 * DateUtils.millisecondsInOneDay; assertThat(habit.repetitions.getOldestTimestamp(), equalTo(expectedOldestTimestamp)); diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/models/ScoreListTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/models/ScoreListTest.java index 25e99cffc..017dacaec 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/models/ScoreListTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/models/ScoreListTest.java @@ -23,8 +23,8 @@ import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; import org.isoron.uhabits.BaseTest; -import org.isoron.uhabits.helpers.DatabaseHelper; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DateUtils; +import org.isoron.uhabits.utils.DatabaseUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Score; import org.isoron.uhabits.unit.HabitFixtures; @@ -57,7 +57,7 @@ public class ScoreListTest extends BaseTest @After public void tearDown() { - DateHelper.setFixedLocalTime(null); + DateUtils.setFixedLocalTime(null); } @Test @@ -104,11 +104,11 @@ public class ScoreListTest extends BaseTest 10129735, 9629735, 9102352, 8546087, 7959357, 7340494, 6687738, 5999234, 5273023, 4507040, 3699107, 2846927, 1948077, 1000000 }; - long current = DateHelper.getStartOfToday(); + long current = DateUtils.getStartOfToday(); for(int expectedValue : expectedValues) { assertThat(habit.scores.getValue(current), equalTo(expectedValue)); - current -= DateHelper.millisecondsInOneDay; + current -= DateUtils.millisecondsInOneDay; } } @@ -162,14 +162,14 @@ public class ScoreListTest extends BaseTest private void toggleRepetitions(final int from, final int to) { - DatabaseHelper.executeAsTransaction(new DatabaseHelper.Command() + DatabaseUtils.executeAsTransaction(new DatabaseUtils.Command() { @Override public void execute() { - long today = DateHelper.getStartOfToday(); + long today = DateUtils.getStartOfToday(); for (int i = from; i < to; i++) - habit.repetitions.toggle(today - i * DateHelper.millisecondsInOneDay); + habit.repetitions.toggle(today - i * DateUtils.millisecondsInOneDay); } }); } diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/tasks/ImportDataTaskTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/tasks/ImportDataTaskTest.java index d6a3cabaa..833675896 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/tasks/ImportDataTaskTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/tasks/ImportDataTaskTest.java @@ -25,7 +25,7 @@ import android.test.suitebuilder.annotation.SmallTest; import android.widget.ProgressBar; import org.isoron.uhabits.BaseTest; -import org.isoron.uhabits.helpers.DatabaseHelper; +import org.isoron.uhabits.utils.FileUtils; import org.isoron.uhabits.tasks.ImportDataTask; import org.junit.Before; import org.junit.Test; @@ -50,14 +50,14 @@ public class ImportDataTaskTest extends BaseTest { super.setup(); - baseDir = DatabaseHelper.getFilesDir("Backups"); + baseDir = FileUtils.getFilesDir("Backups"); if(baseDir == null) fail("baseDir should not be null"); } private void copyAssetToFile(String assetPath, File dst) throws IOException { InputStream in = testContext.getAssets().open(assetPath); - DatabaseHelper.copy(in, dst); + FileUtils.copy(in, dst); } private void assertTaskResult(final int expectedResult, String assetFilename) throws Throwable diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/views/CheckmarkWidgetViewTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/views/CheckmarkWidgetViewTest.java index 874c8666f..45c91242a 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/views/CheckmarkWidgetViewTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/views/CheckmarkWidgetViewTest.java @@ -23,8 +23,8 @@ import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.DateUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.unit.HabitFixtures; import org.isoron.uhabits.views.CheckmarkWidgetView; @@ -45,7 +45,7 @@ public class CheckmarkWidgetViewTest extends ViewTest public void setup() { super.setup(); - UIHelper.setFixedTheme(R.style.TransparentWidgetTheme); + InterfaceUtils.setFixedTheme(R.style.TransparentWidgetTheme); habit = HabitFixtures.createShortHabit(); view = new CheckmarkWidgetView(targetContext); @@ -63,7 +63,7 @@ public class CheckmarkWidgetViewTest extends ViewTest @Test public void testRender_unchecked() throws IOException { - habit.repetitions.toggle(DateHelper.getStartOfToday()); + habit.repetitions.toggle(DateUtils.getStartOfToday()); view.refreshData(); assertRenders(view, "CheckmarkView/unchecked.png"); @@ -72,8 +72,8 @@ public class CheckmarkWidgetViewTest extends ViewTest @Test public void testRender_implicitlyChecked() throws IOException { - long today = DateHelper.getStartOfToday(); - long day = DateHelper.millisecondsInOneDay; + long today = DateUtils.getStartOfToday(); + long day = DateUtils.millisecondsInOneDay; habit.repetitions.toggle(today); habit.repetitions.toggle(today - day); habit.repetitions.toggle(today - 2 * day); diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitHistoryViewTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitHistoryViewTest.java index ea8f0f54f..9982fd18a 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitHistoryViewTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/views/HabitHistoryViewTest.java @@ -22,7 +22,7 @@ package org.isoron.uhabits.unit.views; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.unit.HabitFixtures; import org.isoron.uhabits.views.HabitHistoryView; @@ -92,7 +92,7 @@ public class HabitHistoryViewTest extends ViewTest tap(view, 340, 40); // today's square waitForAsyncTasks(); - long today = DateHelper.getStartOfToday(); + long today = DateUtils.getStartOfToday(); assertFalse(habit.repetitions.contains(today)); } @@ -118,7 +118,7 @@ public class HabitHistoryViewTest extends ViewTest tap(view, 340, 40); // today's square waitForAsyncTasks(); - long today = DateHelper.getStartOfToday(); + long today = DateUtils.getStartOfToday(); assertTrue(habit.repetitions.contains(today)); } diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/views/NumberViewTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/views/NumberViewTest.java index a8f371af6..b4cdb0862 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/views/NumberViewTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/views/NumberViewTest.java @@ -23,7 +23,7 @@ import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.ColorHelper; +import org.isoron.uhabits.utils.ColorUtils; import org.isoron.uhabits.views.NumberView; import org.junit.Before; import org.junit.Test; @@ -45,7 +45,7 @@ public class NumberViewTest extends ViewTest view = new NumberView(targetContext); view.setLabel("Hello world"); view.setNumber(31); - view.setColor(ColorHelper.CSV_PALETTE[0]); + view.setColor(ColorUtils.CSV_PALETTE[0]); measureView(dpToPixels(100), dpToPixels(100), view); } @@ -68,7 +68,7 @@ public class NumberViewTest extends ViewTest public void testRender_withDifferentParams() throws IOException { view.setNumber(500); - view.setColor(ColorHelper.CSV_PALETTE[5]); + view.setColor(ColorUtils.CSV_PALETTE[5]); view.setTextSize(targetContext.getResources().getDimension(R.dimen.tinyTextSize)); measureView(dpToPixels(200), dpToPixels(200), view); diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/views/RingViewTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/views/RingViewTest.java index 9f831ba49..d59ee499e 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/views/RingViewTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/views/RingViewTest.java @@ -23,7 +23,7 @@ import android.graphics.Color; import android.support.test.runner.AndroidJUnit4; import android.test.suitebuilder.annotation.SmallTest; -import org.isoron.uhabits.helpers.ColorHelper; +import org.isoron.uhabits.utils.ColorUtils; import org.isoron.uhabits.views.RingView; import org.junit.Before; import org.junit.Test; @@ -45,7 +45,7 @@ public class RingViewTest extends ViewTest view = new RingView(targetContext); view.setPercentage(0.6f); view.setText("60%"); - view.setColor(ColorHelper.CSV_PALETTE[0]); + view.setColor(ColorUtils.CSV_PALETTE[0]); view.setBackgroundColor(Color.WHITE); view.setThickness(dpToPixels(3)); } @@ -61,7 +61,7 @@ public class RingViewTest extends ViewTest public void testRender_withDifferentParams() throws IOException { view.setPercentage(0.25f); - view.setColor(ColorHelper.CSV_PALETTE[5]); + view.setColor(ColorUtils.CSV_PALETTE[5]); measureView(dpToPixels(200), dpToPixels(200), view); assertRenders(view, "RingView/renderDifferentParams.png"); diff --git a/app/src/androidTest/java/org/isoron/uhabits/unit/views/ViewTest.java b/app/src/androidTest/java/org/isoron/uhabits/unit/views/ViewTest.java index d87c3b9fc..8e9f527b3 100644 --- a/app/src/androidTest/java/org/isoron/uhabits/unit/views/ViewTest.java +++ b/app/src/androidTest/java/org/isoron/uhabits/unit/views/ViewTest.java @@ -27,8 +27,8 @@ import android.view.MotionEvent; import android.view.View; import org.isoron.uhabits.BaseTest; -import org.isoron.uhabits.helpers.DatabaseHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.FileUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.tasks.BaseTask; import org.isoron.uhabits.views.HabitDataView; @@ -124,8 +124,8 @@ public class ViewTest extends BaseTest private String saveBitmap(String filename, String suffix, Bitmap bitmap) throws IOException { - File dir = DatabaseHelper.getSDCardDir("test-screenshots"); - if(dir == null) dir = DatabaseHelper.getFilesDir("test-screenshots"); + File dir = FileUtils.getSDCardDir("test-screenshots"); + if(dir == null) dir = FileUtils.getFilesDir("test-screenshots"); if(dir == null) throw new RuntimeException("Could not find suitable dir for screenshots"); filename = filename.replaceAll("\\.png$", suffix + ".png"); @@ -191,7 +191,7 @@ public class ViewTest extends BaseTest protected int dpToPixels(int dp) { - return (int) UIHelper.dpToPixels(targetContext, dp); + return (int) InterfaceUtils.dpToPixels(targetContext, dp); } protected void tap(GestureDetector.OnGestureListener view, int x, int y) throws InterruptedException diff --git a/app/src/main/AndroidManifest.xml b/app/src/main/AndroidManifest.xml index 7eeedca29..4a764c2b5 100644 --- a/app/src/main/AndroidManifest.xml +++ b/app/src/main/AndroidManifest.xml @@ -60,23 +60,23 @@ + android:value=".MainActivity"/> + android:value=".MainActivity"/> @@ -89,7 +89,7 @@ () { @Override protected Void doInBackground(Void... params) { - ReminderHelper.createReminderAlarms(MainActivity.this); + ReminderUtils.createReminderAlarms(MainActivity.this); updateWidgets(MainActivity.this); return null; } @@ -130,7 +135,7 @@ public class MainActivity extends BaseActivity { SharedPreferences.Editor editor = prefs.edit(); editor.putBoolean("pref_first_run", false); - editor.putLong("last_hint_timestamp", DateHelper.getStartOfToday()).apply(); + editor.putLong("last_hint_timestamp", DateUtils.getStartOfToday()).apply(); editor.apply(); Intent intent = new Intent(this, IntroActivity.class); @@ -145,7 +150,7 @@ public class MainActivity extends BaseActivity getMenuInflater().inflate(R.menu.list_habits_menu, menu); MenuItem nightModeItem = menu.findItem(R.id.action_night_mode); - nightModeItem.setChecked(UIHelper.isNightMode()); + nightModeItem.setChecked(InterfaceUtils.isNightMode()); return true; } @@ -157,10 +162,10 @@ public class MainActivity extends BaseActivity { case R.id.action_night_mode: { - if(UIHelper.isNightMode()) - UIHelper.setCurrentTheme(UIHelper.THEME_LIGHT); + if(InterfaceUtils.isNightMode()) + InterfaceUtils.setCurrentTheme(InterfaceUtils.THEME_LIGHT); else - UIHelper.setCurrentTheme(UIHelper.THEME_DARK); + InterfaceUtils.setCurrentTheme(InterfaceUtils.THEME_DARK); refreshTheme(); return true; diff --git a/app/src/main/java/org/isoron/uhabits/commands/ChangeHabitColorCommand.java b/app/src/main/java/org/isoron/uhabits/commands/ChangeHabitColorCommand.java index 04ba83d7d..ffcd6dfee 100644 --- a/app/src/main/java/org/isoron/uhabits/commands/ChangeHabitColorCommand.java +++ b/app/src/main/java/org/isoron/uhabits/commands/ChangeHabitColorCommand.java @@ -19,10 +19,8 @@ package org.isoron.uhabits.commands; -import com.activeandroid.ActiveAndroid; - import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.DatabaseHelper; +import org.isoron.uhabits.utils.DatabaseUtils; import org.isoron.uhabits.models.Habit; import java.util.ArrayList; @@ -53,7 +51,7 @@ public class ChangeHabitColorCommand extends Command @Override public void undo() { - DatabaseHelper.executeAsTransaction(new DatabaseHelper.Command() + DatabaseUtils.executeAsTransaction(new DatabaseUtils.Command() { @Override public void execute() diff --git a/app/src/main/java/org/isoron/uhabits/io/HabitBullCSVImporter.java b/app/src/main/java/org/isoron/uhabits/io/HabitBullCSVImporter.java index 46be626c9..5a1b6c514 100644 --- a/app/src/main/java/org/isoron/uhabits/io/HabitBullCSVImporter.java +++ b/app/src/main/java/org/isoron/uhabits/io/HabitBullCSVImporter.java @@ -24,7 +24,7 @@ import android.support.annotation.NonNull; import com.activeandroid.ActiveAndroid; import com.opencsv.CSVReader; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.Habit; import java.io.BufferedReader; @@ -76,7 +76,7 @@ public class HabitBullCSVImporter extends AbstractImporter int month = Integer.parseInt(dateString[1]); int day = Integer.parseInt(dateString[2]); - Calendar date = DateHelper.getStartOfTodayCalendar(); + Calendar date = DateUtils.getStartOfTodayCalendar(); date.set(year, month - 1, day); long timestamp = date.getTimeInMillis(); diff --git a/app/src/main/java/org/isoron/uhabits/io/HabitsCSVExporter.java b/app/src/main/java/org/isoron/uhabits/io/HabitsCSVExporter.java index f84ad666c..6ae20f8fc 100644 --- a/app/src/main/java/org/isoron/uhabits/io/HabitsCSVExporter.java +++ b/app/src/main/java/org/isoron/uhabits/io/HabitsCSVExporter.java @@ -19,7 +19,7 @@ package org.isoron.uhabits.io; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.CheckmarkList; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.ScoreList; @@ -93,8 +93,8 @@ public class HabitsCSVExporter private String writeZipFile() throws IOException { - SimpleDateFormat dateFormat = DateHelper.getCSVDateFormat(); - String date = dateFormat.format(DateHelper.getStartOfToday()); + SimpleDateFormat dateFormat = DateUtils.getCSVDateFormat(); + String date = dateFormat.format(DateUtils.getStartOfToday()); String zipFilename = String.format("%s/Loop Habits CSV %s.zip", exportDirName, date); FileOutputStream fos = new FileOutputStream(zipFilename); diff --git a/app/src/main/java/org/isoron/uhabits/io/LoopDBImporter.java b/app/src/main/java/org/isoron/uhabits/io/LoopDBImporter.java index 27b7ecb15..6050a384e 100644 --- a/app/src/main/java/org/isoron/uhabits/io/LoopDBImporter.java +++ b/app/src/main/java/org/isoron/uhabits/io/LoopDBImporter.java @@ -25,7 +25,8 @@ import android.support.annotation.NonNull; import com.activeandroid.ActiveAndroid; -import org.isoron.uhabits.helpers.DatabaseHelper; +import org.isoron.uhabits.utils.DatabaseUtils; +import org.isoron.uhabits.utils.FileUtils; import java.io.File; import java.io.IOException; @@ -54,8 +55,8 @@ public class LoopDBImporter extends AbstractImporter public void importHabitsFromFile(@NonNull File file) throws IOException { ActiveAndroid.dispose(); - File originalDB = DatabaseHelper.getDatabaseFile(); - DatabaseHelper.copy(file, originalDB); - DatabaseHelper.initializeActiveAndroid(); + File originalDB = DatabaseUtils.getDatabaseFile(); + FileUtils.copy(file, originalDB); + DatabaseUtils.initializeActiveAndroid(); } } diff --git a/app/src/main/java/org/isoron/uhabits/io/RewireDBImporter.java b/app/src/main/java/org/isoron/uhabits/io/RewireDBImporter.java index 47fc92020..a68d6c392 100644 --- a/app/src/main/java/org/isoron/uhabits/io/RewireDBImporter.java +++ b/app/src/main/java/org/isoron/uhabits/io/RewireDBImporter.java @@ -23,8 +23,8 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.support.annotation.NonNull; -import org.isoron.uhabits.helpers.DatabaseHelper; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DatabaseUtils; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.Habit; import java.io.File; @@ -57,7 +57,7 @@ public class RewireDBImporter extends AbstractImporter final SQLiteDatabase db = SQLiteDatabase.openDatabase(file.getPath(), null, SQLiteDatabase.OPEN_READONLY); - DatabaseHelper.executeAsTransaction(new DatabaseHelper.Command() + DatabaseUtils.executeAsTransaction(new DatabaseUtils.Command() { @Override public void execute() @@ -150,7 +150,7 @@ public class RewireDBImporter extends AbstractImporter reminderDays[idx] = true; } - habit.reminderDays = DateHelper.packWeekdayList(reminderDays); + habit.reminderDays = DateUtils.packWeekdayList(reminderDays); habit.reminderHour = rewireReminder / 60; habit.reminderMin = rewireReminder % 60; habit.save(); @@ -178,7 +178,7 @@ public class RewireDBImporter extends AbstractImporter int month = Integer.parseInt(date.substring(4, 6)); int day = Integer.parseInt(date.substring(6, 8)); - GregorianCalendar cal = DateHelper.getStartOfTodayCalendar(); + GregorianCalendar cal = DateUtils.getStartOfTodayCalendar(); cal.set(year, month - 1, day); habit.repetitions.toggle(cal.getTimeInMillis()); diff --git a/app/src/main/java/org/isoron/uhabits/io/TickmateDBImporter.java b/app/src/main/java/org/isoron/uhabits/io/TickmateDBImporter.java index f0b6b9770..766af577a 100644 --- a/app/src/main/java/org/isoron/uhabits/io/TickmateDBImporter.java +++ b/app/src/main/java/org/isoron/uhabits/io/TickmateDBImporter.java @@ -23,8 +23,8 @@ import android.database.Cursor; import android.database.sqlite.SQLiteDatabase; import android.support.annotation.NonNull; -import org.isoron.uhabits.helpers.DatabaseHelper; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DatabaseUtils; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.Habit; import java.io.File; @@ -57,7 +57,7 @@ public class TickmateDBImporter extends AbstractImporter final SQLiteDatabase db = SQLiteDatabase.openDatabase(file.getPath(), null, SQLiteDatabase.OPEN_READONLY); - DatabaseHelper.executeAsTransaction(new DatabaseHelper.Command() + DatabaseUtils.executeAsTransaction(new DatabaseUtils.Command() { @Override public void execute() @@ -118,7 +118,7 @@ public class TickmateDBImporter extends AbstractImporter int month = c.getInt(1); int day = c.getInt(2); - GregorianCalendar cal = DateHelper.getStartOfTodayCalendar(); + GregorianCalendar cal = DateUtils.getStartOfTodayCalendar(); cal.set(year, month, day); habit.repetitions.toggle(cal.getTimeInMillis()); diff --git a/app/src/main/java/org/isoron/uhabits/models/CheckmarkList.java b/app/src/main/java/org/isoron/uhabits/models/CheckmarkList.java index 80b565c9c..da8e4ea77 100644 --- a/app/src/main/java/org/isoron/uhabits/models/CheckmarkList.java +++ b/app/src/main/java/org/isoron/uhabits/models/CheckmarkList.java @@ -29,8 +29,8 @@ import com.activeandroid.Cache; import com.activeandroid.query.Delete; import com.activeandroid.query.Select; -import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.DateUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import java.io.IOException; import java.io.Writer; @@ -88,7 +88,7 @@ public class CheckmarkList Long.toString(toTimestamp) }; Cursor cursor = db.rawQuery(query, args); - long day = DateHelper.millisecondsInOneDay; + long day = DateUtils.millisecondsInOneDay; int nDays = (int) ((toTimestamp - fromTimestamp) / day) + 1; int[] checks = new int[nDays]; @@ -124,7 +124,7 @@ public class CheckmarkList if(oldestRep == null) return new int[0]; Long fromTimestamp = oldestRep.timestamp; - Long toTimestamp = DateHelper.getStartOfToday(); + Long toTimestamp = DateUtils.getStartOfToday(); return getValues(fromTimestamp, toTimestamp); } @@ -138,7 +138,7 @@ public class CheckmarkList long fromTimestamp = habit.repetitions.getOldestTimestamp(); if(fromTimestamp == 0) return; - Long toTimestamp = DateHelper.getStartOfToday(); + Long toTimestamp = DateUtils.getStartOfToday(); compute(fromTimestamp, toTimestamp); } @@ -152,9 +152,9 @@ public class CheckmarkList */ protected void compute(long from, final long to) { - UIHelper.throwIfMainThread(); + InterfaceUtils.throwIfMainThread(); - final long day = DateHelper.millisecondsInOneDay; + final long day = DateUtils.millisecondsInOneDay; Checkmark newestCheckmark = findNewest(); if(newestCheckmark != null) @@ -235,7 +235,7 @@ public class CheckmarkList { return new Select().from(Checkmark.class) .where("habit = ?", habit.getId()) - .and("timestamp <= ?", DateHelper.getStartOfToday()) + .and("timestamp <= ?", DateUtils.getStartOfToday()) .orderBy("timestamp desc") .limit(1) .executeSingle(); @@ -249,7 +249,7 @@ public class CheckmarkList @Nullable public Checkmark getToday() { - long today = DateHelper.getStartOfToday(); + long today = DateUtils.getStartOfToday(); compute(today, today); return findNewest(); } @@ -278,7 +278,7 @@ public class CheckmarkList { computeAll(); - SimpleDateFormat dateFormat = DateHelper.getCSVDateFormat(); + SimpleDateFormat dateFormat = DateUtils.getCSVDateFormat(); String query = "select timestamp, value from checkmarks where habit = ? order by timestamp"; String params[] = { habit.getId().toString() }; diff --git a/app/src/main/java/org/isoron/uhabits/models/Habit.java b/app/src/main/java/org/isoron/uhabits/models/Habit.java index 1fdb982ad..3751996cd 100644 --- a/app/src/main/java/org/isoron/uhabits/models/Habit.java +++ b/app/src/main/java/org/isoron/uhabits/models/Habit.java @@ -35,8 +35,8 @@ import com.activeandroid.query.Update; import com.activeandroid.util.SQLiteUtils; import com.opencsv.CSVWriter; -import org.isoron.uhabits.helpers.ColorHelper; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.DateUtils; import java.io.IOException; import java.io.Writer; @@ -154,7 +154,7 @@ public class Habit extends Model */ public Habit(Habit model) { - reminderDays = DateHelper.ALL_WEEK_DAYS; + reminderDays = DateUtils.ALL_WEEK_DAYS; copyAttributes(model); @@ -176,7 +176,7 @@ public class Habit extends Model this.archived = 0; this.freqDen = 7; this.freqNum = 3; - this.reminderDays = DateHelper.ALL_WEEK_DAYS; + this.reminderDays = DateUtils.ALL_WEEK_DAYS; checkmarks = new CheckmarkList(this); streaks = new StreakList(this); @@ -475,7 +475,7 @@ public class Habit extends Model { reminderHour = null; reminderMin = null; - reminderDays = DateHelper.ALL_WEEK_DAYS; + reminderDays = DateUtils.ALL_WEEK_DAYS; } /** @@ -502,7 +502,7 @@ public class Habit extends Model habit.description, Integer.toString(habit.freqNum), Integer.toString(habit.freqDen), - ColorHelper.toHTML(ColorHelper.CSV_PALETTE[habit.color]) + ColorUtils.toHTML(ColorUtils.CSV_PALETTE[habit.color]) }; csv.writeNext(cols, false); diff --git a/app/src/main/java/org/isoron/uhabits/models/RepetitionList.java b/app/src/main/java/org/isoron/uhabits/models/RepetitionList.java index 5bfe22fba..1e4227e9f 100644 --- a/app/src/main/java/org/isoron/uhabits/models/RepetitionList.java +++ b/app/src/main/java/org/isoron/uhabits/models/RepetitionList.java @@ -30,8 +30,8 @@ import com.activeandroid.query.From; import com.activeandroid.query.Select; import com.activeandroid.util.SQLiteUtils; -import org.isoron.uhabits.helpers.DatabaseHelper; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DatabaseUtils; +import org.isoron.uhabits.utils.DateUtils; import java.util.Arrays; import java.util.GregorianCalendar; @@ -52,7 +52,7 @@ public class RepetitionList { return new Select().from(Repetition.class) .where("habit = ?", habit.getId()) - .and("timestamp <= ?", DateHelper.getStartOfToday()) + .and("timestamp <= ?", DateUtils.getStartOfToday()) .orderBy("timestamp"); } @@ -95,7 +95,7 @@ public class RepetitionList */ public void toggle(long timestamp) { - timestamp = DateHelper.getStartOfDay(timestamp); + timestamp = DateUtils.getStartOfDay(timestamp); if (contains(timestamp)) delete(timestamp); @@ -133,11 +133,11 @@ public class RepetitionList */ public long getOldestTimestamp() { - String[] args = { habit.getId().toString(), Long.toString(DateHelper.getStartOfToday()) }; + String[] args = { habit.getId().toString(), Long.toString(DateUtils.getStartOfToday()) }; String query = "select timestamp from Repetitions where habit = ? and timestamp <= ? " + "order by timestamp limit 1"; - return DatabaseHelper.longQuery(query, args); + return DatabaseUtils.longQuery(query, args); } /** @@ -164,7 +164,7 @@ public class RepetitionList "group by year, month, weekday"; String[] params = { habit.getId().toString(), - Long.toString(DateHelper.getStartOfToday()) }; + Long.toString(DateUtils.getStartOfToday()) }; SQLiteDatabase db = Cache.openDatabase(); Cursor cursor = db.rawQuery(query, params); @@ -172,7 +172,7 @@ public class RepetitionList if(!cursor.moveToFirst()) return new HashMap<>(); HashMap map = new HashMap<>(); - GregorianCalendar date = DateHelper.getStartOfTodayCalendar(); + GregorianCalendar date = DateUtils.getStartOfTodayCalendar(); do { diff --git a/app/src/main/java/org/isoron/uhabits/models/ScoreList.java b/app/src/main/java/org/isoron/uhabits/models/ScoreList.java index eca89b9e0..b207b130c 100644 --- a/app/src/main/java/org/isoron/uhabits/models/ScoreList.java +++ b/app/src/main/java/org/isoron/uhabits/models/ScoreList.java @@ -31,9 +31,9 @@ import com.activeandroid.query.From; import com.activeandroid.query.Select; import com.activeandroid.util.SQLiteUtils; -import org.isoron.uhabits.helpers.DatabaseHelper; -import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.DatabaseUtils; +import org.isoron.uhabits.utils.DateUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import java.io.IOException; import java.io.Writer; @@ -85,7 +85,7 @@ public class ScoreList long fromTimestamp = habit.repetitions.getOldestTimestamp(); if(fromTimestamp == 0) return; - long toTimestamp = DateHelper.getStartOfToday(); + long toTimestamp = DateUtils.getStartOfToday(); compute(fromTimestamp, toTimestamp); } @@ -103,9 +103,9 @@ public class ScoreList */ protected void compute(long from, long to) { - UIHelper.throwIfMainThread(); + InterfaceUtils.throwIfMainThread(); - final long day = DateHelper.millisecondsInOneDay; + final long day = DateUtils.millisecondsInOneDay; final double freq = ((double) habit.freqNum) / habit.freqDen; int newestScoreValue = findNewestValue(); @@ -151,7 +151,7 @@ public class ScoreList { String args[] = { habit.getId().toString() }; String query = "select timestamp from Score where habit = ? order by timestamp desc limit 1"; - return DatabaseHelper.longQuery(query, args); + return DatabaseUtils.longQuery(query, args); } private void insert(long timestamps[], long values[]) @@ -238,7 +238,7 @@ public class ScoreList if(oldestRep == null) return new int[0]; long fromTimestamp = oldestRep.timestamp; - long toTimestamp = DateHelper.getStartOfToday(); + long toTimestamp = DateUtils.getStartOfToday(); return getValues(fromTimestamp, toTimestamp, divisor); } @@ -255,7 +255,7 @@ public class ScoreList { compute(from, to); - divisor *= DateHelper.millisecondsInOneDay; + divisor *= DateUtils.millisecondsInOneDay; Long offset = to + divisor; String query = "select ((timestamp - ?) / ?) as time, avg(score) from Score " + @@ -291,7 +291,7 @@ public class ScoreList @Nullable protected Score getToday() { - return get(DateHelper.getStartOfToday()); + return get(DateUtils.getStartOfToday()); } /** @@ -301,7 +301,7 @@ public class ScoreList */ public int getTodayValue() { - return getValue(DateHelper.getStartOfToday()); + return getValue(DateUtils.getStartOfToday()); } /** @@ -321,7 +321,7 @@ public class ScoreList { computeAll(); - SimpleDateFormat dateFormat = DateHelper.getCSVDateFormat(); + SimpleDateFormat dateFormat = DateUtils.getCSVDateFormat(); String query = "select timestamp, score from score where habit = ? order by timestamp"; String params[] = { habit.getId().toString() }; diff --git a/app/src/main/java/org/isoron/uhabits/models/StreakList.java b/app/src/main/java/org/isoron/uhabits/models/StreakList.java index 691403d25..a47409ef1 100644 --- a/app/src/main/java/org/isoron/uhabits/models/StreakList.java +++ b/app/src/main/java/org/isoron/uhabits/models/StreakList.java @@ -27,8 +27,8 @@ import com.activeandroid.Cache; import com.activeandroid.query.Delete; import com.activeandroid.query.Select; -import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.DateUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import java.util.ArrayList; import java.util.LinkedList; @@ -50,7 +50,7 @@ public class StreakList String query = "select * from (select * from streak where habit=? " + "order by end <> ?, length desc, end desc limit ?) order by end desc"; - String params[] = {habit.getId().toString(), Long.toString(DateHelper.getStartOfToday()), + String params[] = {habit.getId().toString(), Long.toString(DateUtils.getStartOfToday()), Integer.toString(limit)}; SQLiteDatabase db = Cache.openDatabase(); @@ -87,11 +87,11 @@ public class StreakList public void rebuild() { - UIHelper.throwIfMainThread(); + InterfaceUtils.throwIfMainThread(); long beginning; - long today = DateHelper.getStartOfToday(); - long day = DateHelper.millisecondsInOneDay; + long today = DateUtils.getStartOfToday(); + long day = DateUtils.millisecondsInOneDay; Streak newestStreak = getNewest(); if (newestStreak != null) @@ -154,7 +154,7 @@ public class StreakList { new Delete().from(Streak.class) .where("habit = ?", habit.getId()) - .and("end >= ?", timestamp - DateHelper.millisecondsInOneDay) + .and("end >= ?", timestamp - DateUtils.millisecondsInOneDay) .execute(); } } diff --git a/app/src/main/java/org/isoron/uhabits/tasks/ExportCSVTask.java b/app/src/main/java/org/isoron/uhabits/tasks/ExportCSVTask.java index 5c85bc89e..ccea2b14b 100644 --- a/app/src/main/java/org/isoron/uhabits/tasks/ExportCSVTask.java +++ b/app/src/main/java/org/isoron/uhabits/tasks/ExportCSVTask.java @@ -23,7 +23,7 @@ import android.support.annotation.Nullable; import android.view.View; import android.widget.ProgressBar; -import org.isoron.uhabits.helpers.DatabaseHelper; +import org.isoron.uhabits.utils.FileUtils; import org.isoron.uhabits.io.HabitsCSVExporter; import org.isoron.uhabits.models.Habit; @@ -83,7 +83,7 @@ public class ExportCSVTask extends BaseTask { try { - File dir = DatabaseHelper.getFilesDir("CSV"); + File dir = FileUtils.getFilesDir("CSV"); if(dir == null) return; HabitsCSVExporter exporter = new HabitsCSVExporter(selectedHabits, dir); diff --git a/app/src/main/java/org/isoron/uhabits/tasks/ExportDBTask.java b/app/src/main/java/org/isoron/uhabits/tasks/ExportDBTask.java index 4e184335f..60b3cba19 100644 --- a/app/src/main/java/org/isoron/uhabits/tasks/ExportDBTask.java +++ b/app/src/main/java/org/isoron/uhabits/tasks/ExportDBTask.java @@ -23,7 +23,8 @@ import android.support.annotation.Nullable; import android.view.View; import android.widget.ProgressBar; -import org.isoron.uhabits.helpers.DatabaseHelper; +import org.isoron.uhabits.utils.DatabaseUtils; +import org.isoron.uhabits.utils.FileUtils; import java.io.File; import java.io.IOException; @@ -80,10 +81,10 @@ public class ExportDBTask extends BaseTask try { - File dir = DatabaseHelper.getFilesDir("Backups"); + File dir = FileUtils.getFilesDir("Backups"); if(dir == null) return; - filename = DatabaseHelper.saveDatabaseCopy(dir); + filename = DatabaseUtils.saveDatabaseCopy(dir); } catch(IOException e) { diff --git a/app/src/main/java/org/isoron/uhabits/AboutActivity.java b/app/src/main/java/org/isoron/uhabits/ui/AboutActivity.java similarity index 92% rename from app/src/main/java/org/isoron/uhabits/AboutActivity.java rename to app/src/main/java/org/isoron/uhabits/ui/AboutActivity.java index 279a96d45..a4a575a7f 100644 --- a/app/src/main/java/org/isoron/uhabits/AboutActivity.java +++ b/app/src/main/java/org/isoron/uhabits/ui/AboutActivity.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits; +package org.isoron.uhabits.ui; import android.content.Intent; import android.net.Uri; @@ -25,7 +25,9 @@ import android.os.Bundle; import android.view.View; import android.widget.TextView; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.BuildConfig; +import org.isoron.uhabits.R; +import org.isoron.uhabits.utils.InterfaceUtils; public class AboutActivity extends BaseActivity implements View.OnClickListener { @@ -38,7 +40,7 @@ public class AboutActivity extends BaseActivity implements View.OnClickListener setContentView(R.layout.about); setupSupportActionBar(true); - int color = UIHelper.getStyledColor(this, R.attr.aboutScreenColor); + int color = InterfaceUtils.getStyledColor(this, R.attr.aboutScreenColor); setupActionBarColor(color); TextView tvVersion = (TextView) findViewById(R.id.tvVersion); diff --git a/app/src/main/java/org/isoron/uhabits/BaseActivity.java b/app/src/main/java/org/isoron/uhabits/ui/BaseActivity.java similarity index 91% rename from app/src/main/java/org/isoron/uhabits/BaseActivity.java rename to app/src/main/java/org/isoron/uhabits/ui/BaseActivity.java index 6d59a00d0..f41b6eb87 100644 --- a/app/src/main/java/org/isoron/uhabits/BaseActivity.java +++ b/app/src/main/java/org/isoron/uhabits/ui/BaseActivity.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits; +package org.isoron.uhabits.ui; import android.app.backup.BackupManager; import android.graphics.Color; @@ -31,9 +31,11 @@ import android.support.v7.widget.Toolbar; import android.view.View; import android.widget.Toast; +import org.isoron.uhabits.HabitsApplication; +import org.isoron.uhabits.R; import org.isoron.uhabits.commands.Command; -import org.isoron.uhabits.helpers.ColorHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import java.util.LinkedList; @@ -52,7 +54,7 @@ abstract public class BaseActivity extends AppCompatActivity implements Thread.U { super.onCreate(savedInstanceState); - UIHelper.applyCurrentTheme(this); + InterfaceUtils.applyCurrentTheme(this); androidExceptionHandler = Thread.getDefaultUncaughtExceptionHandler(); Thread.setDefaultUncaughtExceptionHandler(this); @@ -133,7 +135,7 @@ abstract public class BaseActivity extends AppCompatActivity implements Thread.U if(toolbar == null) return; if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) - toolbar.setElevation(UIHelper.dpToPixels(this, 2)); + toolbar.setElevation(InterfaceUtils.dpToPixels(this, 2)); setSupportActionBar(toolbar); @@ -172,14 +174,14 @@ abstract public class BaseActivity extends AppCompatActivity implements Thread.U ActionBar actionBar = getSupportActionBar(); if(actionBar == null) return; - if (!UIHelper.getStyledBoolean(this, R.attr.useHabitColorAsPrimary)) return; + if (!InterfaceUtils.getStyledBoolean(this, R.attr.useHabitColorAsPrimary)) return; ColorDrawable drawable = new ColorDrawable(color); actionBar.setBackgroundDrawable(drawable); if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.LOLLIPOP) { - int darkerColor = ColorHelper.mixColors(color, Color.BLACK, 0.75f); + int darkerColor = ColorUtils.mixColors(color, Color.BLACK, 0.75f); getWindow().setStatusBarColor(darkerColor); } } diff --git a/app/src/main/java/org/isoron/uhabits/helpers/HintManager.java b/app/src/main/java/org/isoron/uhabits/ui/HintManager.java similarity index 90% rename from app/src/main/java/org/isoron/uhabits/helpers/HintManager.java rename to app/src/main/java/org/isoron/uhabits/ui/HintManager.java index 998939ed9..aa366833f 100644 --- a/app/src/main/java/org/isoron/uhabits/helpers/HintManager.java +++ b/app/src/main/java/org/isoron/uhabits/ui/HintManager.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.helpers; +package org.isoron.uhabits.ui; import android.animation.Animator; import android.animation.AnimatorListenerAdapter; @@ -28,6 +28,7 @@ import android.view.View; import android.widget.TextView; import org.isoron.uhabits.R; +import org.isoron.uhabits.utils.DateUtils; public class HintManager { @@ -59,7 +60,7 @@ public class HintManager Integer lastHintNumber = prefs.getInt("last_hint_number", -1); Long lastHintTimestamp = prefs.getLong("last_hint_timestamp", -1); - if (DateHelper.getStartOfToday() > lastHintTimestamp) showHint(lastHintNumber + 1); + if (DateUtils.getStartOfToday() > lastHintTimestamp) showHint(lastHintNumber + 1); } private void showHint(int hintNumber) @@ -68,7 +69,7 @@ public class HintManager if (hintNumber >= hints.length) return; prefs.edit().putInt("last_hint_number", hintNumber).apply(); - prefs.edit().putLong("last_hint_timestamp", DateHelper.getStartOfToday()).apply(); + prefs.edit().putLong("last_hint_timestamp", DateUtils.getStartOfToday()).apply(); TextView tvContent = (TextView) hintView.findViewById(R.id.hintContent); tvContent.setText(hints[hintNumber]); diff --git a/app/src/main/java/org/isoron/uhabits/IntroActivity.java b/app/src/main/java/org/isoron/uhabits/ui/IntroActivity.java similarity index 96% rename from app/src/main/java/org/isoron/uhabits/IntroActivity.java rename to app/src/main/java/org/isoron/uhabits/ui/IntroActivity.java index e298d1c63..f58298186 100644 --- a/app/src/main/java/org/isoron/uhabits/IntroActivity.java +++ b/app/src/main/java/org/isoron/uhabits/ui/IntroActivity.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits; +package org.isoron.uhabits.ui; import android.graphics.Color; import android.os.Bundle; @@ -25,6 +25,8 @@ import android.os.Bundle; import com.github.paolorotolo.appintro.AppIntro2; import com.github.paolorotolo.appintro.AppIntroFragment; +import org.isoron.uhabits.R; + public class IntroActivity extends AppIntro2 { @Override diff --git a/app/src/main/java/org/isoron/uhabits/dialogs/EditHabitDialogFragment.java b/app/src/main/java/org/isoron/uhabits/ui/edit/EditHabitDialogFragment.java similarity index 92% rename from app/src/main/java/org/isoron/uhabits/dialogs/EditHabitDialogFragment.java rename to app/src/main/java/org/isoron/uhabits/ui/edit/EditHabitDialogFragment.java index 1baa97cbe..1a21a8c9c 100644 --- a/app/src/main/java/org/isoron/uhabits/dialogs/EditHabitDialogFragment.java +++ b/app/src/main/java/org/isoron/uhabits/ui/edit/EditHabitDialogFragment.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.dialogs; +package org.isoron.uhabits.ui.edit; import android.annotation.SuppressLint; import android.content.SharedPreferences; @@ -44,10 +44,10 @@ import org.isoron.uhabits.R; import org.isoron.uhabits.commands.Command; import org.isoron.uhabits.commands.CreateHabitCommand; import org.isoron.uhabits.commands.EditHabitCommand; -import org.isoron.uhabits.helpers.ColorHelper; -import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.helpers.UIHelper.OnSavedListener; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.Habit; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import java.util.Arrays; @@ -59,7 +59,7 @@ public class EditHabitDialogFragment extends AppCompatDialogFragment static final int EDIT_MODE = 0; static final int CREATE_MODE = 1; - private OnSavedListener onSavedListener; + private InterfaceUtils.OnSavedListener onSavedListener; private Habit originalHabit; private Habit modifiedHabit; @@ -176,7 +176,7 @@ public class EditHabitDialogFragment extends AppCompatDialogFragment private void changeColor(int paletteColor) { modifiedHabit.color = paletteColor; - tvName.setTextColor(ColorHelper.getColor(getActivity(), paletteColor)); + tvName.setTextColor(ColorUtils.getColor(getActivity(), paletteColor)); SharedPreferences.Editor editor = prefs.edit(); editor.putInt("pref_default_habit_palette_color", paletteColor); @@ -188,12 +188,12 @@ public class EditHabitDialogFragment extends AppCompatDialogFragment { if (modifiedHabit.hasReminder()) { - tvReminderTime.setText(DateHelper.formatTime(getActivity(), modifiedHabit.reminderHour, + tvReminderTime.setText(DateUtils.formatTime(getActivity(), modifiedHabit.reminderHour, modifiedHabit.reminderMin)); llReminderDays.setVisibility(View.VISIBLE); - boolean weekdays[] = DateHelper.unpackWeekdayList(modifiedHabit.reminderDays); - tvReminderDays.setText(DateHelper.formatWeekdayList(getActivity(), weekdays)); + boolean weekdays[] = DateUtils.unpackWeekdayList(modifiedHabit.reminderDays); + tvReminderDays.setText(DateUtils.formatWeekdayList(getActivity(), weekdays)); } else { @@ -202,7 +202,7 @@ public class EditHabitDialogFragment extends AppCompatDialogFragment } } - public void setOnSavedListener(OnSavedListener onSavedListener) + public void setOnSavedListener(InterfaceUtils.OnSavedListener onSavedListener) { this.onSavedListener = onSavedListener; } @@ -236,17 +236,17 @@ public class EditHabitDialogFragment extends AppCompatDialogFragment private void onColorButtonClick() { - int originalAndroidColor = ColorHelper.getColor(getActivity(), modifiedHabit.color); + int originalAndroidColor = ColorUtils.getColor(getActivity(), modifiedHabit.color); ColorPickerDialog picker = ColorPickerDialog.newInstance( - R.string.color_picker_default_title, ColorHelper.getPalette(getActivity()), + R.string.color_picker_default_title, ColorUtils.getPalette(getActivity()), originalAndroidColor, 4, ColorPickerDialog.SIZE_SMALL); picker.setOnColorSelectedListener(new ColorPickerSwatch.OnColorSelectedListener() { public void onColorSelected(int androidColor) { - int paletteColor = ColorHelper.colorToPaletteIndex(getActivity(), androidColor); + int paletteColor = ColorUtils.colorToPaletteIndex(getActivity(), androidColor); changeColor(paletteColor); } }); @@ -331,7 +331,7 @@ public class EditHabitDialogFragment extends AppCompatDialogFragment WeekdayPickerDialog dialog = new WeekdayPickerDialog(); dialog.setListener(this); - dialog.setSelectedDays(DateHelper.unpackWeekdayList(modifiedHabit.reminderDays)); + dialog.setSelectedDays(DateUtils.unpackWeekdayList(modifiedHabit.reminderDays)); dialog.show(getFragmentManager(), "weekdayPicker"); } @@ -340,7 +340,7 @@ public class EditHabitDialogFragment extends AppCompatDialogFragment { modifiedHabit.reminderHour = hour; modifiedHabit.reminderMin = minute; - modifiedHabit.reminderDays = DateHelper.ALL_WEEK_DAYS; + modifiedHabit.reminderDays = DateUtils.ALL_WEEK_DAYS; updateReminder(); } @@ -360,7 +360,7 @@ public class EditHabitDialogFragment extends AppCompatDialogFragment if(count == 0) Arrays.fill(selectedDays, true); - modifiedHabit.reminderDays = DateHelper.packWeekdayList(selectedDays); + modifiedHabit.reminderDays = DateUtils.packWeekdayList(selectedDays); updateReminder(); } diff --git a/app/src/main/java/org/isoron/uhabits/dialogs/HistoryEditorDialog.java b/app/src/main/java/org/isoron/uhabits/ui/edit/HistoryEditorDialog.java similarity index 99% rename from app/src/main/java/org/isoron/uhabits/dialogs/HistoryEditorDialog.java rename to app/src/main/java/org/isoron/uhabits/ui/edit/HistoryEditorDialog.java index cd95e9212..d43bcfcbf 100644 --- a/app/src/main/java/org/isoron/uhabits/dialogs/HistoryEditorDialog.java +++ b/app/src/main/java/org/isoron/uhabits/ui/edit/HistoryEditorDialog.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.dialogs; +package org.isoron.uhabits.ui.edit; import android.app.Dialog; import android.content.Context; diff --git a/app/src/main/java/org/isoron/uhabits/dialogs/WeekdayPickerDialog.java b/app/src/main/java/org/isoron/uhabits/ui/edit/WeekdayPickerDialog.java similarity index 93% rename from app/src/main/java/org/isoron/uhabits/dialogs/WeekdayPickerDialog.java rename to app/src/main/java/org/isoron/uhabits/ui/edit/WeekdayPickerDialog.java index 5297b80eb..e2de134d1 100644 --- a/app/src/main/java/org/isoron/uhabits/dialogs/WeekdayPickerDialog.java +++ b/app/src/main/java/org/isoron/uhabits/ui/edit/WeekdayPickerDialog.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.dialogs; +package org.isoron.uhabits.ui.edit; import android.app.Dialog; import android.content.DialogInterface; @@ -26,7 +26,7 @@ import android.support.v7.app.AlertDialog; import android.support.v7.app.AppCompatDialogFragment; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DateUtils; public class WeekdayPickerDialog extends AppCompatDialogFragment implements DialogInterface.OnMultiChoiceClickListener, DialogInterface.OnClickListener @@ -55,7 +55,7 @@ public class WeekdayPickerDialog extends AppCompatDialogFragment { AlertDialog.Builder builder = new AlertDialog.Builder(getActivity()); builder.setTitle(R.string.select_weekdays) - .setMultiChoiceItems(DateHelper.getLongDayNames(), selectedDays, this) + .setMultiChoiceItems(DateUtils.getLongDayNames(), selectedDays, this) .setPositiveButton(android.R.string.yes, this) .setNegativeButton(android.R.string.cancel, new DialogInterface.OnClickListener() { diff --git a/app/src/main/java/org/isoron/uhabits/fragments/HabitSelectionCallback.java b/app/src/main/java/org/isoron/uhabits/ui/list/HabitSelectionCallback.java similarity index 86% rename from app/src/main/java/org/isoron/uhabits/fragments/HabitSelectionCallback.java rename to app/src/main/java/org/isoron/uhabits/ui/list/HabitSelectionCallback.java index bf0973aaf..a065054b7 100644 --- a/app/src/main/java/org/isoron/uhabits/fragments/HabitSelectionCallback.java +++ b/app/src/main/java/org/isoron/uhabits/ui/list/HabitSelectionCallback.java @@ -17,48 +17,45 @@ * with this program. If not, see . */ -package org.isoron.uhabits.fragments; +package org.isoron.uhabits.ui.list; import android.content.DialogInterface; import android.support.v7.app.AlertDialog; import android.support.v7.view.ActionMode; import android.view.Menu; import android.view.MenuItem; -import android.widget.ProgressBar; import com.android.colorpicker.ColorPickerDialog; import com.android.colorpicker.ColorPickerSwatch; -import org.isoron.uhabits.BaseActivity; import org.isoron.uhabits.R; import org.isoron.uhabits.commands.ArchiveHabitsCommand; import org.isoron.uhabits.commands.ChangeHabitColorCommand; import org.isoron.uhabits.commands.DeleteHabitsCommand; import org.isoron.uhabits.commands.UnarchiveHabitsCommand; -import org.isoron.uhabits.dialogs.EditHabitDialogFragment; -import org.isoron.uhabits.helpers.ColorHelper; -import org.isoron.uhabits.helpers.UIHelper; -import org.isoron.uhabits.loaders.HabitListLoader; import org.isoron.uhabits.models.Habit; +import org.isoron.uhabits.ui.BaseActivity; +import org.isoron.uhabits.ui.edit.EditHabitDialogFragment; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import java.util.LinkedList; import java.util.List; public class HabitSelectionCallback implements ActionMode.Callback { - private HabitListLoader loader; + private ListHabitsLoader loader; private List selectedPositions; private BaseActivity activity; private Listener listener; - private UIHelper.OnSavedListener onSavedListener; - private ProgressBar progressBar; + private InterfaceUtils.OnSavedListener onSavedListener; public interface Listener { void onActionModeDestroyed(ActionMode mode); } - public HabitSelectionCallback(BaseActivity activity, HabitListLoader loader) + public HabitSelectionCallback(BaseActivity activity, ListHabitsLoader loader) { this.activity = activity; this.loader = loader; @@ -70,12 +67,7 @@ public class HabitSelectionCallback implements ActionMode.Callback this.listener = listener; } - public void setProgressBar(ProgressBar progressBar) - { - this.progressBar = progressBar; - } - - public void setOnSavedListener(UIHelper.OnSavedListener onSavedListener) + public void setOnSavedListener(InterfaceUtils.OnSavedListener onSavedListener) { this.onSavedListener = onSavedListener; } @@ -110,10 +102,7 @@ public class HabitSelectionCallback implements ActionMode.Callback for (int i : selectedPositions) { Habit h = loader.habitsList.get(i); - if (h.isArchived()) - { - showArchive = false; - } + if (h.isArchived()) showArchive = false; else showUnarchive = false; } @@ -165,17 +154,17 @@ public class HabitSelectionCallback implements ActionMode.Callback case R.id.action_color: { - int originalAndroidColor = ColorHelper.getColor(activity, firstHabit.color); + int originalAndroidColor = ColorUtils.getColor(activity, firstHabit.color); ColorPickerDialog picker = ColorPickerDialog.newInstance( - R.string.color_picker_default_title, ColorHelper.getPalette(activity), + R.string.color_picker_default_title, ColorUtils.getPalette(activity), originalAndroidColor, 4, ColorPickerDialog.SIZE_SMALL); picker.setOnColorSelectedListener(new ColorPickerSwatch.OnColorSelectedListener() { public void onColorSelected(int androidColor) { - int paletteColor = ColorHelper.colorToPaletteIndex(activity, + int paletteColor = ColorUtils.colorToPaletteIndex(activity, androidColor); activity.executeCommand(new ChangeHabitColorCommand(selectedHabits, paletteColor), null); diff --git a/app/src/main/java/org/isoron/uhabits/fragments/HabitListAdapter.java b/app/src/main/java/org/isoron/uhabits/ui/list/ListHabitsAdapter.java similarity index 87% rename from app/src/main/java/org/isoron/uhabits/fragments/HabitListAdapter.java rename to app/src/main/java/org/isoron/uhabits/ui/list/ListHabitsAdapter.java index e01ceef84..dd0bf2810 100644 --- a/app/src/main/java/org/isoron/uhabits/fragments/HabitListAdapter.java +++ b/app/src/main/java/org/isoron/uhabits/ui/list/ListHabitsAdapter.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.fragments; +package org.isoron.uhabits.ui.list; import android.content.Context; import android.view.LayoutInflater; @@ -26,23 +26,21 @@ import android.view.ViewGroup; import android.widget.BaseAdapter; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.helpers.ListHabitsHelper; -import org.isoron.uhabits.loaders.HabitListLoader; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.Habit; import java.util.List; -class HabitListAdapter extends BaseAdapter +class ListHabitsAdapter extends BaseAdapter { private LayoutInflater inflater; - private HabitListLoader loader; + private ListHabitsLoader loader; private ListHabitsHelper helper; private List selectedPositions; private View.OnLongClickListener onCheckmarkLongClickListener; private View.OnClickListener onCheckmarkClickListener; - public HabitListAdapter(Context context, HabitListLoader loader) + public ListHabitsAdapter(Context context, ListHabitsLoader loader) { this.loader = loader; @@ -74,7 +72,7 @@ class HabitListAdapter extends BaseAdapter final Habit habit = loader.habitsList.get(position); boolean selected = selectedPositions.contains(position); - if (view == null || (Long) view.getTag(R.id.timestamp_key) != DateHelper.getStartOfToday()) + if (view == null || (Long) view.getTag(R.id.timestamp_key) != DateUtils.getStartOfToday()) { view = helper.inflateHabitCard(inflater, onCheckmarkLongClickListener, onCheckmarkClickListener); diff --git a/app/src/main/java/org/isoron/uhabits/fragments/ListHabitsFragment.java b/app/src/main/java/org/isoron/uhabits/ui/list/ListHabitsFragment.java similarity index 92% rename from app/src/main/java/org/isoron/uhabits/fragments/ListHabitsFragment.java rename to app/src/main/java/org/isoron/uhabits/ui/list/ListHabitsFragment.java index 1319a69b1..4b9bf23d1 100644 --- a/app/src/main/java/org/isoron/uhabits/fragments/ListHabitsFragment.java +++ b/app/src/main/java/org/isoron/uhabits/ui/list/ListHabitsFragment.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.fragments; +package org.isoron.uhabits.ui.list; import android.app.Activity; import android.content.Intent; @@ -50,20 +50,18 @@ import com.mobeta.android.dslv.DragSortController; import com.mobeta.android.dslv.DragSortListView; import com.mobeta.android.dslv.DragSortListView.DropListener; -import org.isoron.uhabits.BaseActivity; +import org.isoron.uhabits.ui.BaseActivity; import org.isoron.uhabits.R; import org.isoron.uhabits.commands.Command; import org.isoron.uhabits.commands.ToggleRepetitionCommand; -import org.isoron.uhabits.dialogs.EditHabitDialogFragment; -import org.isoron.uhabits.dialogs.FilePickerDialog; -import org.isoron.uhabits.helpers.DatabaseHelper; -import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.helpers.HintManager; -import org.isoron.uhabits.helpers.ListHabitsHelper; -import org.isoron.uhabits.helpers.ReminderHelper; -import org.isoron.uhabits.helpers.UIHelper; -import org.isoron.uhabits.helpers.UIHelper.OnSavedListener; -import org.isoron.uhabits.loaders.HabitListLoader; +import org.isoron.uhabits.ui.edit.EditHabitDialogFragment; +import org.isoron.uhabits.ui.settings.FilePickerDialog; +import org.isoron.uhabits.utils.FileUtils; +import org.isoron.uhabits.utils.DateUtils; +import org.isoron.uhabits.ui.HintManager; +import org.isoron.uhabits.utils.ReminderUtils; +import org.isoron.uhabits.utils.InterfaceUtils; +import org.isoron.uhabits.utils.InterfaceUtils.OnSavedListener; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.tasks.ExportCSVTask; import org.isoron.uhabits.tasks.ExportDBTask; @@ -76,7 +74,7 @@ import java.util.List; public class ListHabitsFragment extends Fragment implements OnSavedListener, OnItemClickListener, OnLongClickListener, DropListener, - OnClickListener, HabitListLoader.Listener, AdapterView.OnItemLongClickListener, + OnClickListener, ListHabitsLoader.Listener, AdapterView.OnItemLongClickListener, HabitSelectionCallback.Listener, ImportDataTask.Listener, ExportCSVTask.Listener, ExportDBTask.Listener { @@ -85,8 +83,8 @@ public class ListHabitsFragment extends Fragment private boolean showArchived; private ActionMode actionMode; - private HabitListAdapter adapter; - private HabitListLoader loader; + private ListHabitsAdapter adapter; + private ListHabitsLoader loader; private HintManager hintManager; private ListHabitsHelper helper; private List selectedPositions; @@ -114,7 +112,7 @@ public class ListHabitsFragment extends Fragment progressBar.setVisibility(View.GONE); selectedPositions = new LinkedList<>(); - loader = new HabitListLoader(); + loader = new ListHabitsLoader(); helper = new ListHabitsHelper(activity, loader); hintManager = new HintManager(activity, llHint); @@ -122,9 +120,9 @@ public class ListHabitsFragment extends Fragment loader.setCheckmarkCount(helper.getButtonCount()); llHint.setOnClickListener(this); - tvStarEmpty.setTypeface(UIHelper.getFontAwesome(activity)); + tvStarEmpty.setTypeface(InterfaceUtils.getFontAwesome(activity)); - adapter = new HabitListAdapter(getActivity(), loader); + adapter = new ListHabitsAdapter(getActivity(), loader); adapter.setSelectedPositions(selectedPositions); adapter.setOnCheckmarkClickListener(this); adapter.setOnCheckmarkLongClickListener(this); @@ -171,7 +169,7 @@ public class ListHabitsFragment extends Fragment super.onResume(); Long timestamp = loader.getLastLoadTimestamp(); - if (timestamp != null && timestamp != DateHelper.getStartOfToday()) + if (timestamp != null && timestamp != DateUtils.getStartOfToday()) loader.updateAllHabits(true); helper.updateEmptyMessage(llEmpty); @@ -282,7 +280,6 @@ public class ListHabitsFragment extends Fragment { HabitSelectionCallback callback = new HabitSelectionCallback(activity, loader); callback.setSelectedPositions(selectedPositions); - callback.setProgressBar(progressBar); callback.setOnSavedListener(this); callback.setListener(this); @@ -301,7 +298,7 @@ public class ListHabitsFragment extends Fragment else activity.executeCommand(command, h.getId()); adapter.notifyDataSetChanged(); - ReminderHelper.createReminderAlarms(activity); + ReminderUtils.createReminderAlarms(activity); if(actionMode != null) actionMode.finish(); } @@ -433,7 +430,7 @@ public class ListHabitsFragment extends Fragment public void showImportDialog() { - File dir = DatabaseHelper.getFilesDir(null); + File dir = FileUtils.getFilesDir(null); if(dir == null) { activity.showToast(R.string.could_not_import); diff --git a/app/src/main/java/org/isoron/uhabits/helpers/ListHabitsHelper.java b/app/src/main/java/org/isoron/uhabits/ui/list/ListHabitsHelper.java similarity index 87% rename from app/src/main/java/org/isoron/uhabits/helpers/ListHabitsHelper.java rename to app/src/main/java/org/isoron/uhabits/ui/list/ListHabitsHelper.java index 91a3a4aff..71411f383 100644 --- a/app/src/main/java/org/isoron/uhabits/helpers/ListHabitsHelper.java +++ b/app/src/main/java/org/isoron/uhabits/ui/list/ListHabitsHelper.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.helpers; +package org.isoron.uhabits.ui.list; import android.content.Context; import android.content.SharedPreferences; @@ -32,7 +32,9 @@ import android.widget.LinearLayout; import android.widget.TextView; import org.isoron.uhabits.R; -import org.isoron.uhabits.loaders.HabitListLoader; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.DateUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Score; import org.isoron.uhabits.views.RingView; @@ -48,20 +50,20 @@ public class ListHabitsHelper private final int mediumContrastColor; private final Context context; - private final HabitListLoader loader; + private final ListHabitsLoader loader; - public ListHabitsHelper(Context context, HabitListLoader loader) + public ListHabitsHelper(Context context, ListHabitsLoader loader) { this.context = context; this.loader = loader; - lowContrastColor = UIHelper.getStyledColor(context, R.attr.lowContrastTextColor); - mediumContrastColor = UIHelper.getStyledColor(context, R.attr.mediumContrastTextColor); + lowContrastColor = InterfaceUtils.getStyledColor(context, R.attr.lowContrastTextColor); + mediumContrastColor = InterfaceUtils.getStyledColor(context, R.attr.mediumContrastTextColor); } public int getButtonCount() { - float screenWidth = UIHelper.getScreenWidth(context); + float screenWidth = InterfaceUtils.getScreenWidth(context); float labelWidth = context.getResources().getDimension(R.dimen.habitNameWidth); float buttonWidth = context.getResources().getDimension(R.dimen.checkmarkWidth); return Math.max(0, (int) ((screenWidth - labelWidth) / buttonWidth)); @@ -69,9 +71,9 @@ public class ListHabitsHelper public int getHabitNameWidth() { - float screenWidth = UIHelper.getScreenWidth(context); + float screenWidth = InterfaceUtils.getScreenWidth(context); float buttonWidth = context.getResources().getDimension(R.dimen.checkmarkWidth); - float padding = UIHelper.dpToPixels(context, 15); + float padding = InterfaceUtils.dpToPixels(context, 15); return (int) (screenWidth - padding - getButtonCount() * buttonWidth); } @@ -100,7 +102,7 @@ public class ListHabitsHelper public int getActiveColor(Habit habit) { - int activeColor = ColorHelper.getColor(context, habit.color); + int activeColor = ColorUtils.getColor(context, habit.color); if(habit.isArchived()) activeColor = mediumContrastColor; return activeColor; @@ -193,9 +195,9 @@ public class ListHabitsHelper Drawable background; if (isSelected) - background = UIHelper.getStyledDrawable(context, R.attr.selectedBackground); + background = InterfaceUtils.getStyledDrawable(context, R.attr.selectedBackground); else - background = UIHelper.getStyledDrawable(context, R.attr.cardBackground); + background = InterfaceUtils.getStyledDrawable(context, R.attr.cardBackground); view.setBackgroundDrawable(background); } @@ -208,20 +210,20 @@ public class ListHabitsHelper { View check = inflater.inflate(R.layout.list_habits_item_check, null); TextView btCheck = (TextView) check.findViewById(R.id.tvCheck); - btCheck.setTypeface(UIHelper.getFontAwesome(context)); + btCheck.setTypeface(InterfaceUtils.getFontAwesome(context)); btCheck.setOnLongClickListener(onLongClickListener); btCheck.setOnClickListener(onClickListener); btCheck.setHapticFeedbackEnabled(false); ((LinearLayout) view.findViewById(R.id.llButtons)).addView(check); } - view.setTag(R.id.timestamp_key, DateHelper.getStartOfToday()); + view.setTag(R.id.timestamp_key, DateUtils.getStartOfToday()); } public void updateHeader(ViewGroup header) { LayoutInflater inflater = LayoutInflater.from(context); - GregorianCalendar day = DateHelper.getStartOfTodayCalendar(); + GregorianCalendar day = DateUtils.getStartOfTodayCalendar(); header.removeAllViews(); for (int i = 0; i < getButtonCount(); i++) @@ -233,7 +235,7 @@ public class ListHabitsHelper View tvDay = inflater.inflate(R.layout.list_habits_header_check, null); TextView btCheck = (TextView) tvDay.findViewById(R.id.tvCheck); - btCheck.setText(DateHelper.formatHeaderDate(day)); + btCheck.setText(DateUtils.formatHeaderDate(day)); header.addView(tvDay, position); day.add(GregorianCalendar.DAY_OF_MONTH, -1); } @@ -247,7 +249,7 @@ public class ListHabitsHelper public void toggleCheckmarkView(View v, Habit habit) { - int androidColor = ColorHelper.getColor(context, habit.color); + int androidColor = ColorUtils.getColor(context, habit.color); if (v.getTag(R.string.toggle_key).equals(2)) updateCheckmark(androidColor, (TextView) v, 0); @@ -263,8 +265,8 @@ public class ListHabitsHelper public long getTimestampFromCheckmarkView(View v) { Integer offset = (Integer) v.getTag(R.string.offset_key); - return DateHelper.getStartOfDay(DateHelper.getLocalTime() - - offset * DateHelper.millisecondsInOneDay); + return DateUtils.getStartOfDay(DateUtils.getLocalTime() - + offset * DateUtils.millisecondsInOneDay); } public void triggerRipple(View v, final float x, final float y) diff --git a/app/src/main/java/org/isoron/uhabits/loaders/HabitListLoader.java b/app/src/main/java/org/isoron/uhabits/ui/list/ListHabitsLoader.java similarity index 92% rename from app/src/main/java/org/isoron/uhabits/loaders/HabitListLoader.java rename to app/src/main/java/org/isoron/uhabits/ui/list/ListHabitsLoader.java index 12a8e9e9f..baed5b504 100644 --- a/app/src/main/java/org/isoron/uhabits/loaders/HabitListLoader.java +++ b/app/src/main/java/org/isoron/uhabits/ui/list/ListHabitsLoader.java @@ -17,16 +17,16 @@ * with this program. If not, see . */ -package org.isoron.uhabits.loaders; +package org.isoron.uhabits.ui.list; -import org.isoron.uhabits.helpers.DateHelper; +import org.isoron.uhabits.utils.DateUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.tasks.BaseTask; import java.util.HashMap; import java.util.List; -public class HabitListLoader +public class ListHabitsLoader { public interface Listener { @@ -66,7 +66,7 @@ public class HabitListLoader return lastLoadTimestamp; } - public HabitListLoader() + public ListHabitsLoader() { habits = new HashMap<>(); checkmarks = new HashMap<>(); @@ -103,8 +103,8 @@ public class HabitListLoader newScores = new HashMap<>(); newHabitList = Habit.getAll(includeArchived); - long dateTo = DateHelper.getStartOfDay(DateHelper.getLocalTime()); - long dateFrom = dateTo - (checkmarkCount - 1) * DateHelper.millisecondsInOneDay; + long dateTo = DateUtils.getStartOfDay(DateUtils.getLocalTime()); + long dateFrom = dateTo - (checkmarkCount - 1) * DateUtils.millisecondsInOneDay; int[] empty = new int[checkmarkCount]; for(Habit h : newHabitList) @@ -160,7 +160,7 @@ public class HabitListLoader { if (isCancelled()) return; - lastLoadTimestamp = DateHelper.getStartOfToday(); + lastLoadTimestamp = DateUtils.getStartOfToday(); currentFetchTask = null; if(listener != null) listener.onLoadFinished(); @@ -180,8 +180,8 @@ public class HabitListLoader @Override protected void doInBackground() { - long dateTo = DateHelper.getStartOfDay(DateHelper.getLocalTime()); - long dateFrom = dateTo - (checkmarkCount - 1) * DateHelper.millisecondsInOneDay; + long dateTo = DateUtils.getStartOfDay(DateUtils.getLocalTime()); + long dateFrom = dateTo - (checkmarkCount - 1) * DateUtils.millisecondsInOneDay; Habit h = Habit.get(id); if(h == null) return; diff --git a/app/src/main/java/org/isoron/uhabits/dialogs/FilePickerDialog.java b/app/src/main/java/org/isoron/uhabits/ui/settings/FilePickerDialog.java similarity index 99% rename from app/src/main/java/org/isoron/uhabits/dialogs/FilePickerDialog.java rename to app/src/main/java/org/isoron/uhabits/ui/settings/FilePickerDialog.java index 94c574fbd..f31fad843 100644 --- a/app/src/main/java/org/isoron/uhabits/dialogs/FilePickerDialog.java +++ b/app/src/main/java/org/isoron/uhabits/ui/settings/FilePickerDialog.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.dialogs; +package org.isoron.uhabits.ui.settings; import android.app.Activity; import android.app.Dialog; diff --git a/app/src/main/java/org/isoron/uhabits/SettingsActivity.java b/app/src/main/java/org/isoron/uhabits/ui/settings/SettingsActivity.java similarity index 82% rename from app/src/main/java/org/isoron/uhabits/SettingsActivity.java rename to app/src/main/java/org/isoron/uhabits/ui/settings/SettingsActivity.java index 579e7a7a6..d9188b5c9 100644 --- a/app/src/main/java/org/isoron/uhabits/SettingsActivity.java +++ b/app/src/main/java/org/isoron/uhabits/ui/settings/SettingsActivity.java @@ -17,11 +17,13 @@ * with this program. If not, see . */ -package org.isoron.uhabits; +package org.isoron.uhabits.ui.settings; import android.os.Bundle; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.R; +import org.isoron.uhabits.utils.InterfaceUtils; +import org.isoron.uhabits.ui.BaseActivity; public class SettingsActivity extends BaseActivity { @@ -32,7 +34,7 @@ public class SettingsActivity extends BaseActivity setContentView(R.layout.settings_activity); setupSupportActionBar(true); - int color = UIHelper.getStyledColor(this, R.attr.aboutScreenColor); + int color = InterfaceUtils.getStyledColor(this, R.attr.aboutScreenColor); setupActionBarColor(color); } } diff --git a/app/src/main/java/org/isoron/uhabits/fragments/SettingsFragment.java b/app/src/main/java/org/isoron/uhabits/ui/settings/SettingsFragment.java similarity index 90% rename from app/src/main/java/org/isoron/uhabits/fragments/SettingsFragment.java rename to app/src/main/java/org/isoron/uhabits/ui/settings/SettingsFragment.java index 838527589..9789b6790 100644 --- a/app/src/main/java/org/isoron/uhabits/fragments/SettingsFragment.java +++ b/app/src/main/java/org/isoron/uhabits/ui/settings/SettingsFragment.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.fragments; +package org.isoron.uhabits.ui.settings; import android.app.backup.BackupManager; import android.content.Intent; @@ -29,8 +29,8 @@ import android.support.v7.preference.PreferenceFragmentCompat; import org.isoron.uhabits.MainActivity; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.ReminderHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.ReminderUtils; +import org.isoron.uhabits.utils.InterfaceUtils; public class SettingsFragment extends PreferenceFragmentCompat implements SharedPreferences.OnSharedPreferenceChangeListener @@ -50,7 +50,7 @@ public class SettingsFragment extends PreferenceFragmentCompat updateRingtoneDescription(); - if(UIHelper.isLocaleFullyTranslated()) + if(InterfaceUtils.isLocaleFullyTranslated()) removePreference("translate", "linksCategory"); } @@ -111,7 +111,7 @@ public class SettingsFragment extends PreferenceFragmentCompat if (preference.getKey().equals("reminderSound")) { - ReminderHelper.startRingtonePickerActivity(this, RINGTONE_REQUEST_CODE); + ReminderUtils.startRingtonePickerActivity(this, RINGTONE_REQUEST_CODE); return true; } @@ -123,7 +123,7 @@ public class SettingsFragment extends PreferenceFragmentCompat { if(requestCode == RINGTONE_REQUEST_CODE) { - ReminderHelper.parseRingtoneData(getContext(), data); + ReminderUtils.parseRingtoneData(getContext(), data); updateRingtoneDescription(); return; } @@ -133,7 +133,7 @@ public class SettingsFragment extends PreferenceFragmentCompat private void updateRingtoneDescription() { - String ringtoneName = ReminderHelper.getRingtoneName(getContext()); + String ringtoneName = ReminderUtils.getRingtoneName(getContext()); Preference ringtonePreference = findPreference("reminderSound"); ringtonePreference.setSummary(ringtoneName); } diff --git a/app/src/main/java/org/isoron/uhabits/ShowHabitActivity.java b/app/src/main/java/org/isoron/uhabits/ui/show/ShowHabitActivity.java similarity index 88% rename from app/src/main/java/org/isoron/uhabits/ShowHabitActivity.java rename to app/src/main/java/org/isoron/uhabits/ui/show/ShowHabitActivity.java index 8be54b586..38a6d3d8e 100644 --- a/app/src/main/java/org/isoron/uhabits/ShowHabitActivity.java +++ b/app/src/main/java/org/isoron/uhabits/ui/show/ShowHabitActivity.java @@ -17,15 +17,17 @@ * with this program. If not, see . */ -package org.isoron.uhabits; +package org.isoron.uhabits.ui.show; import android.content.ContentUris; import android.net.Uri; import android.os.Bundle; import android.support.v7.app.ActionBar; -import org.isoron.uhabits.helpers.ColorHelper; +import org.isoron.uhabits.R; +import org.isoron.uhabits.utils.ColorUtils; import org.isoron.uhabits.models.Habit; +import org.isoron.uhabits.ui.BaseActivity; public class ShowHabitActivity extends BaseActivity { @@ -54,7 +56,7 @@ public class ShowHabitActivity extends BaseActivity actionBar.setTitle(habit.name); - setupActionBarColor(ColorHelper.getColor(this, habit.color)); + setupActionBarColor(ColorUtils.getColor(this, habit.color)); } public Habit getHabit() diff --git a/app/src/main/java/org/isoron/uhabits/fragments/ShowHabitFragment.java b/app/src/main/java/org/isoron/uhabits/ui/show/ShowHabitFragment.java similarity index 89% rename from app/src/main/java/org/isoron/uhabits/fragments/ShowHabitFragment.java rename to app/src/main/java/org/isoron/uhabits/ui/show/ShowHabitFragment.java index f95c83881..68873a6e5 100644 --- a/app/src/main/java/org/isoron/uhabits/fragments/ShowHabitFragment.java +++ b/app/src/main/java/org/isoron/uhabits/ui/show/ShowHabitFragment.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.fragments; +package org.isoron.uhabits.ui.show; import android.os.Bundle; import android.support.annotation.Nullable; @@ -35,14 +35,13 @@ import android.widget.TextView; import org.isoron.uhabits.HabitBroadcastReceiver; import org.isoron.uhabits.R; -import org.isoron.uhabits.ShowHabitActivity; import org.isoron.uhabits.commands.Command; -import org.isoron.uhabits.dialogs.EditHabitDialogFragment; -import org.isoron.uhabits.dialogs.HistoryEditorDialog; -import org.isoron.uhabits.helpers.ColorHelper; -import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.helpers.ReminderHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.ui.edit.EditHabitDialogFragment; +import org.isoron.uhabits.ui.edit.HistoryEditorDialog; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.DateUtils; +import org.isoron.uhabits.utils.ReminderUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Score; import org.isoron.uhabits.tasks.BaseTask; @@ -57,7 +56,7 @@ import java.util.LinkedList; import java.util.List; public class ShowHabitFragment extends Fragment - implements UIHelper.OnSavedListener, HistoryEditorDialog.Listener, + implements InterfaceUtils.OnSavedListener, HistoryEditorDialog.Listener, Spinner.OnItemSelectedListener { @Nullable @@ -95,8 +94,8 @@ public class ShowHabitFragment extends Fragment activity = (ShowHabitActivity) getActivity(); habit = activity.getHabit(); - activeColor = ColorHelper.getColor(getContext(), habit.color); - inactiveColor = UIHelper.getStyledColor(getContext(), R.attr.mediumContrastTextColor); + activeColor = ColorUtils.getColor(getContext(), habit.color); + inactiveColor = InterfaceUtils.getStyledColor(getContext(), R.attr.mediumContrastTextColor); updateHeader(view); @@ -107,7 +106,7 @@ public class ShowHabitFragment extends Fragment scoreView = (HabitScoreView) view.findViewById(R.id.scoreView); - int defaultScoreInterval = UIHelper.getDefaultScoreInterval(getContext()); + int defaultScoreInterval = InterfaceUtils.getDefaultScoreInterval(getContext()); previousScoreInterval = defaultScoreInterval; setScoreBucketSize(defaultScoreInterval); @@ -162,7 +161,7 @@ public class ShowHabitFragment extends Fragment TextView reminderLabel = (TextView) view.findViewById(R.id.reminderLabel); if(habit.hasReminder()) - reminderLabel.setText(DateHelper.formatTime(getActivity(), habit.reminderHour, + reminderLabel.setText(DateUtils.formatTime(getActivity(), habit.reminderHour, habit.reminderMin)); else reminderLabel.setText(getResources().getString(R.string.reminder_off)); @@ -219,7 +218,7 @@ public class ShowHabitFragment extends Fragment float yearDiff = todayPercentage - (lastYearScore / Score.MAX_VALUE); RingView scoreRing = (RingView) view.findViewById(R.id.scoreRing); - int androidColor = ColorHelper.getColor(getActivity(), habit.color); + int androidColor = ColorUtils.getColor(getActivity(), habit.color); scoreRing.setColor(androidColor); scoreRing.setPercentage(todayPercentage); @@ -254,7 +253,7 @@ public class ShowHabitFragment extends Fragment if(habit == null || activity == null) return; TextView textView = (TextView) view.findViewById(viewId); - int androidColor = ColorHelper.getColor(activity, habit.color); + int androidColor = ColorUtils.getColor(activity, habit.color); textView.setTextColor(androidColor); } @@ -293,7 +292,7 @@ public class ShowHabitFragment extends Fragment if (h == null) activity.executeCommand(command, null); else activity.executeCommand(command, h.getId()); - ReminderHelper.createReminderAlarms(activity); + ReminderUtils.createReminderAlarms(activity); HabitBroadcastReceiver.sendRefreshBroadcast(getActivity()); activity.recreate(); @@ -316,9 +315,9 @@ public class ShowHabitFragment extends Fragment if(habit == null) return; if(dataViews == null) return; - long today = DateHelper.getStartOfToday(); - long lastMonth = today - 30 * DateHelper.millisecondsInOneDay; - long lastYear = today - 365 * DateHelper.millisecondsInOneDay; + long today = DateUtils.getStartOfToday(); + long lastMonth = today - 30 * DateUtils.millisecondsInOneDay; + long lastYear = today - 365 * DateUtils.millisecondsInOneDay; todayScore = (float) habit.scores.getTodayValue(); lastMonthScore = (float) habit.scores.getValue(lastMonth); @@ -362,7 +361,7 @@ public class ShowHabitFragment extends Fragment HabitBroadcastReceiver.sendRefreshBroadcast(getActivity()); } - UIHelper.setDefaultScoreInterval(getContext(), position); + InterfaceUtils.setDefaultScoreInterval(getContext(), position); previousScoreInterval = position; } diff --git a/app/src/main/java/org/isoron/uhabits/helpers/ColorHelper.java b/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java similarity index 96% rename from app/src/main/java/org/isoron/uhabits/helpers/ColorHelper.java rename to app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java index d64f4ac3d..1e4656540 100644 --- a/app/src/main/java/org/isoron/uhabits/helpers/ColorHelper.java +++ b/app/src/main/java/org/isoron/uhabits/utils/ColorUtils.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.helpers; +package org.isoron.uhabits.utils; import android.content.Context; import android.graphics.Color; @@ -25,7 +25,7 @@ import android.util.Log; import org.isoron.uhabits.R; -public class ColorHelper +public abstract class ColorUtils { public static int CSV_PALETTE[] = { @@ -56,7 +56,7 @@ public class ColorHelper public static int[] getPalette(Context context) { - int resourceId = UIHelper.getStyleResource(context, R.attr.palette); + int resourceId = InterfaceUtils.getStyleResource(context, R.attr.palette); if(resourceId < 0) return CSV_PALETTE; return context.getResources().getIntArray(resourceId); diff --git a/app/src/main/java/org/isoron/uhabits/helpers/DatabaseHelper.java b/app/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java similarity index 56% rename from app/src/main/java/org/isoron/uhabits/helpers/DatabaseHelper.java rename to app/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java index d3c3d21e5..f8b5a9778 100644 --- a/app/src/main/java/org/isoron/uhabits/helpers/DatabaseHelper.java +++ b/app/src/main/java/org/isoron/uhabits/utils/DatabaseUtils.java @@ -17,15 +17,11 @@ * with this program. If not, see . */ -package org.isoron.uhabits.helpers; +package org.isoron.uhabits.utils; import android.content.Context; import android.database.Cursor; -import android.os.Environment; import android.support.annotation.NonNull; -import android.support.annotation.Nullable; -import android.support.v4.content.ContextCompat; -import android.util.Log; import com.activeandroid.ActiveAndroid; import com.activeandroid.Cache; @@ -40,37 +36,11 @@ import org.isoron.uhabits.models.Score; import org.isoron.uhabits.models.Streak; import java.io.File; -import java.io.FileInputStream; -import java.io.FileOutputStream; import java.io.IOException; -import java.io.InputStream; -import java.io.OutputStream; import java.text.SimpleDateFormat; -public class DatabaseHelper +public abstract class DatabaseUtils { - public static void copy(File src, File dst) throws IOException - { - FileInputStream inStream = new FileInputStream(src); - FileOutputStream outStream = new FileOutputStream(dst); - copy(inStream, outStream); - } - - public static void copy(InputStream inStream, File dst) throws IOException - { - FileOutputStream outStream = new FileOutputStream(dst); - copy(inStream, outStream); - } - - public static void copy(InputStream in, OutputStream out) throws IOException - { - int numBytes; - byte[] buffer = new byte[1024]; - - while ((numBytes = in.read(buffer)) != -1) - out.write(buffer, 0, numBytes); - } - public interface Command { void execute(); @@ -95,11 +65,11 @@ public class DatabaseHelper { File db = getDatabaseFile(); - SimpleDateFormat dateFormat = DateHelper.getBackupDateFormat(); - String date = dateFormat.format(DateHelper.getLocalTime()); + SimpleDateFormat dateFormat = DateUtils.getBackupDateFormat(); + String date = dateFormat.format(DateUtils.getLocalTime()); File dbCopy = new File(String.format("%s/Loop Habits Backup %s.db", dir.getAbsolutePath(), date)); - copy(db, dbCopy); + FileUtils.copy(db, dbCopy); return dbCopy.getAbsolutePath(); } @@ -127,63 +97,6 @@ public class DatabaseHelper return databaseFilename; } - @Nullable - public static File getSDCardDir(@Nullable String relativePath) - { - File parents[] = new File[]{ Environment.getExternalStorageDirectory() }; - return getDir(parents, relativePath); - } - - @Nullable - public static File getFilesDir(@Nullable String relativePath) - { - Context context = HabitsApplication.getContext(); - if(context == null) - { - Log.e("DatabaseHelper", "getFilesDir: no application context available"); - return null; - } - - File externalFilesDirs[] = ContextCompat.getExternalFilesDirs(context, null); - - if(externalFilesDirs == null) - { - Log.e("DatabaseHelper", "getFilesDir: getExternalFilesDirs returned null"); - return null; - } - - return getDir(externalFilesDirs, relativePath); - } - - @Nullable - private static File getDir(@NonNull File potentialParentDirs[], @Nullable String relativePath) - { - if(relativePath == null) relativePath = ""; - - File chosenDir = null; - for(File dir : potentialParentDirs) - { - if (dir == null || !dir.canWrite()) continue; - chosenDir = dir; - break; - } - - if(chosenDir == null) - { - Log.e("DatabaseHelper", "getDir: all potential parents are null or non-writable"); - return null; - } - - File dir = new File(String.format("%s/%s/", chosenDir.getAbsolutePath(), relativePath)); - if (!dir.exists() && !dir.mkdirs()) - { - Log.e("DatabaseHelper", "getDir: chosen dir does not exist and cannot be created"); - return null; - } - - return dir; - } - @SuppressWarnings("unchecked") public static void initializeActiveAndroid() { diff --git a/app/src/main/java/org/isoron/uhabits/helpers/DateHelper.java b/app/src/main/java/org/isoron/uhabits/utils/DateUtils.java similarity index 98% rename from app/src/main/java/org/isoron/uhabits/helpers/DateHelper.java rename to app/src/main/java/org/isoron/uhabits/utils/DateUtils.java index 4d0c02c32..a93a38c8b 100644 --- a/app/src/main/java/org/isoron/uhabits/helpers/DateHelper.java +++ b/app/src/main/java/org/isoron/uhabits/utils/DateUtils.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.helpers; +package org.isoron.uhabits.utils; import android.content.Context; import android.text.format.DateFormat; @@ -31,7 +31,7 @@ import java.util.GregorianCalendar; import java.util.Locale; import java.util.TimeZone; -public class DateHelper +public abstract class DateUtils { public static long millisecondsInOneDay = 24 * 60 * 60 * 1000; public static int ALL_WEEK_DAYS = 127; @@ -84,7 +84,7 @@ public class DateHelper public static long getStartOfToday() { - return getStartOfDay(DateHelper.getLocalTime()); + return getStartOfDay(DateUtils.getLocalTime()); } public static String formatTime(Context context, int hours, int minutes) diff --git a/app/src/main/java/org/isoron/uhabits/utils/FileUtils.java b/app/src/main/java/org/isoron/uhabits/utils/FileUtils.java new file mode 100644 index 000000000..867dbbcf0 --- /dev/null +++ b/app/src/main/java/org/isoron/uhabits/utils/FileUtils.java @@ -0,0 +1,119 @@ +/* + * Copyright (C) 2016 Álinson Santos Xavier + * + * This file is part of Loop Habit Tracker. + * + * Loop Habit Tracker is free software: you can redistribute it and/or modify + * it under the terms of the GNU General Public License as published by the + * Free Software Foundation, either version 3 of the License, or (at your + * option) any later version. + * + * Loop Habit Tracker is distributed in the hope that it will be useful, but + * WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY + * or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for + * more details. + * + * You should have received a copy of the GNU General Public License along + * with this program. If not, see . + */ + +package org.isoron.uhabits.utils; + +import android.content.Context; +import android.os.Environment; +import android.support.annotation.NonNull; +import android.support.annotation.Nullable; +import android.support.v4.content.ContextCompat; +import android.util.Log; + +import org.isoron.uhabits.HabitsApplication; + +import java.io.File; +import java.io.FileInputStream; +import java.io.FileOutputStream; +import java.io.IOException; +import java.io.InputStream; +import java.io.OutputStream; + +public abstract class FileUtils +{ + public static void copy(File src, File dst) throws IOException + { + FileInputStream inStream = new FileInputStream(src); + FileOutputStream outStream = new FileOutputStream(dst); + copy(inStream, outStream); + } + + public static void copy(InputStream inStream, File dst) throws IOException + { + FileOutputStream outStream = new FileOutputStream(dst); + copy(inStream, outStream); + } + + public static void copy(InputStream in, OutputStream out) throws IOException + { + int numBytes; + byte[] buffer = new byte[1024]; + + while ((numBytes = in.read(buffer)) != -1) + out.write(buffer, 0, numBytes); + } + + @Nullable + public static File getSDCardDir(@Nullable String relativePath) + { + File parents[] = new File[]{ Environment.getExternalStorageDirectory() }; + return getDir(parents, relativePath); + } + + @Nullable + public static File getFilesDir(@Nullable String relativePath) + { + Context context = HabitsApplication.getContext(); + if(context == null) + { + Log.e("DatabaseHelper", "getFilesDir: no application context available"); + return null; + } + + File externalFilesDirs[] = ContextCompat.getExternalFilesDirs(context, null); + + if(externalFilesDirs == null) + { + Log.e("DatabaseHelper", "getFilesDir: getExternalFilesDirs returned null"); + return null; + } + + return getDir(externalFilesDirs, relativePath); + } + + @Nullable + private static File getDir(@NonNull File potentialParentDirs[], @Nullable String relativePath) + { + if(relativePath == null) relativePath = ""; + + File chosenDir = null; + for(File dir : potentialParentDirs) + { + if (dir == null || !dir.canWrite()) continue; + chosenDir = dir; + break; + } + + if(chosenDir == null) + { + Log.e("DatabaseHelper", "getDir: all potential parents are null or non-writable"); + return null; + } + + File dir = new File(String.format("%s/%s/", chosenDir.getAbsolutePath(), relativePath)); + if (!dir.exists() && !dir.mkdirs()) + { + Log.e("DatabaseHelper", "getDir: chosen dir does not exist and cannot be created"); + return null; + } + + return dir; + } + +} diff --git a/app/src/main/java/org/isoron/uhabits/helpers/UIHelper.java b/app/src/main/java/org/isoron/uhabits/utils/InterfaceUtils.java similarity index 98% rename from app/src/main/java/org/isoron/uhabits/helpers/UIHelper.java rename to app/src/main/java/org/isoron/uhabits/utils/InterfaceUtils.java index dfb27f1bf..5625bd7f9 100644 --- a/app/src/main/java/org/isoron/uhabits/helpers/UIHelper.java +++ b/app/src/main/java/org/isoron/uhabits/utils/InterfaceUtils.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.helpers; +package org.isoron.uhabits.utils; import android.app.Activity; import android.content.Context; @@ -43,7 +43,7 @@ import org.isoron.uhabits.commands.Command; import java.util.Locale; -public abstract class UIHelper +public abstract class InterfaceUtils { public static final String ISORON_NAMESPACE = "http://isoron.org/android"; @@ -55,7 +55,7 @@ public abstract class UIHelper public static void setFixedTheme(Integer fixedTheme) { - UIHelper.fixedTheme = fixedTheme; + InterfaceUtils.fixedTheme = fixedTheme; } public interface OnSavedListener diff --git a/app/src/main/java/org/isoron/uhabits/helpers/ReminderHelper.java b/app/src/main/java/org/isoron/uhabits/utils/ReminderUtils.java similarity index 96% rename from app/src/main/java/org/isoron/uhabits/helpers/ReminderHelper.java rename to app/src/main/java/org/isoron/uhabits/utils/ReminderUtils.java index 35e1a92a1..22abd0859 100644 --- a/app/src/main/java/org/isoron/uhabits/helpers/ReminderHelper.java +++ b/app/src/main/java/org/isoron/uhabits/utils/ReminderUtils.java @@ -17,7 +17,7 @@ * with this program. If not, see . */ -package org.isoron.uhabits.helpers; +package org.isoron.uhabits.utils; import android.app.AlarmManager; import android.app.PendingIntent; @@ -42,7 +42,7 @@ import java.text.DateFormat; import java.util.Calendar; import java.util.Date; -public class ReminderHelper +public abstract class ReminderUtils { public static void createReminderAlarms(Context context) { @@ -70,7 +70,7 @@ public class ReminderHelper reminderTime += AlarmManager.INTERVAL_DAY; } - long timestamp = DateHelper.getStartOfDay(DateHelper.toLocalTime(reminderTime)); + long timestamp = DateUtils.getStartOfDay(DateUtils.toLocalTime(reminderTime)); Uri uri = habit.getUri(); @@ -132,7 +132,7 @@ public class ReminderHelper public static void startRingtonePickerActivity(Fragment fragment, int requestCode) { - Uri existingRingtoneUri = ReminderHelper.getRingtoneUri(fragment.getContext()); + Uri existingRingtoneUri = ReminderUtils.getRingtoneUri(fragment.getContext()); Uri defaultRingtoneUri = Settings.System.DEFAULT_NOTIFICATION_URI; Intent intent = new Intent(RingtoneManager.ACTION_RINGTONE_PICKER); diff --git a/app/src/main/java/org/isoron/uhabits/views/CheckmarkWidgetView.java b/app/src/main/java/org/isoron/uhabits/views/CheckmarkWidgetView.java index 869c91afe..0f6046e1b 100644 --- a/app/src/main/java/org/isoron/uhabits/views/CheckmarkWidgetView.java +++ b/app/src/main/java/org/isoron/uhabits/views/CheckmarkWidgetView.java @@ -27,8 +27,8 @@ import android.util.TypedValue; import android.widget.TextView; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.ColorHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.models.Checkmark; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Score; @@ -68,7 +68,7 @@ public class CheckmarkWidgetView extends HabitWidgetView implements HabitDataVie { percentage = 0.75f; name = "Wake up early"; - activeColor = ColorHelper.CSV_PALETTE[6]; + activeColor = ColorUtils.CSV_PALETTE[6]; checkmarkValue = Checkmark.CHECKED_EXPLICITLY; refresh(); } @@ -79,7 +79,7 @@ public class CheckmarkWidgetView extends HabitWidgetView implements HabitDataVie { super.setHabit(habit); this.name = habit.name; - this.activeColor = ColorHelper.getColor(getContext(), habit.color); + this.activeColor = ColorUtils.getColor(getContext(), habit.color); refresh(); } @@ -99,7 +99,7 @@ public class CheckmarkWidgetView extends HabitWidgetView implements HabitDataVie text = getResources().getString(R.string.fa_check); backgroundColor = activeColor; foregroundColor = - UIHelper.getStyledColor(context, R.attr.highContrastReverseTextColor); + InterfaceUtils.getStyledColor(context, R.attr.highContrastReverseTextColor); setShadowAlpha(0x4f); rebuildBackground(); @@ -110,15 +110,15 @@ public class CheckmarkWidgetView extends HabitWidgetView implements HabitDataVie case Checkmark.CHECKED_IMPLICITLY: text = getResources().getString(R.string.fa_check); - backgroundColor = UIHelper.getStyledColor(context, R.attr.cardBackgroundColor); - foregroundColor = UIHelper.getStyledColor(context, R.attr.mediumContrastTextColor); + backgroundColor = InterfaceUtils.getStyledColor(context, R.attr.cardBackgroundColor); + foregroundColor = InterfaceUtils.getStyledColor(context, R.attr.mediumContrastTextColor); break; case Checkmark.UNCHECKED: default: text = getResources().getString(R.string.fa_times); - backgroundColor = UIHelper.getStyledColor(context, R.attr.cardBackgroundColor); - foregroundColor = UIHelper.getStyledColor(context, R.attr.mediumContrastTextColor); + backgroundColor = InterfaceUtils.getStyledColor(context, R.attr.cardBackgroundColor); + foregroundColor = InterfaceUtils.getStyledColor(context, R.attr.mediumContrastTextColor); break; } diff --git a/app/src/main/java/org/isoron/uhabits/views/HabitFrequencyView.java b/app/src/main/java/org/isoron/uhabits/views/HabitFrequencyView.java index 7890757dd..7cf504508 100644 --- a/app/src/main/java/org/isoron/uhabits/views/HabitFrequencyView.java +++ b/app/src/main/java/org/isoron/uhabits/views/HabitFrequencyView.java @@ -26,9 +26,9 @@ import android.graphics.RectF; import android.util.AttributeSet; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.ColorHelper; -import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.DateUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.models.Habit; import java.text.SimpleDateFormat; @@ -73,7 +73,7 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV public HabitFrequencyView(Context context, AttributeSet attrs) { super(context, attrs); - this.primaryColor = ColorHelper.getColor(getContext(), 7); + this.primaryColor = ColorUtils.getColor(getContext(), 7); this.frequency = new HashMap<>(); init(); } @@ -89,8 +89,8 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV createPaints(); createColors(); - dfMonth = DateHelper.getDateFormat("MMM"); - dfYear = DateHelper.getDateFormat("yyyy"); + dfMonth = DateUtils.getDateFormat("MMM"); + dfYear = DateUtils.getDateFormat("yyyy"); rect = new RectF(); prevRect = new RectF(); @@ -100,17 +100,17 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV { if(habit != null) { - this.primaryColor = ColorHelper.getColor(getContext(), habit.color); + this.primaryColor = ColorUtils.getColor(getContext(), habit.color); } - textColor = UIHelper.getStyledColor(getContext(), R.attr.mediumContrastTextColor); - gridColor = UIHelper.getStyledColor(getContext(), R.attr.lowContrastTextColor); + textColor = InterfaceUtils.getStyledColor(getContext(), R.attr.mediumContrastTextColor); + gridColor = InterfaceUtils.getStyledColor(getContext(), R.attr.lowContrastTextColor); colors = new int[4]; colors[0] = gridColor; colors[3] = primaryColor; - colors[1] = ColorHelper.mixColors(colors[0], colors[3], 0.66f); - colors[2] = ColorHelper.mixColors(colors[0], colors[3], 0.33f); + colors[1] = ColorUtils.mixColors(colors[0], colors[3], 0.66f); + colors[2] = ColorUtils.mixColors(colors[0], colors[3], 0.33f); } protected void createPaints() @@ -159,7 +159,7 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV private float getMaxMonthWidth() { float maxMonthWidth = 0; - GregorianCalendar day = DateHelper.getStartOfTodayCalendar(); + GregorianCalendar day = DateUtils.getStartOfTodayCalendar(); for(int i = 0; i < 12; i++) { @@ -183,7 +183,7 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV private void generateRandomData() { - GregorianCalendar date = DateHelper.getStartOfTodayCalendar(); + GregorianCalendar date = DateUtils.getStartOfTodayCalendar(); date.set(Calendar.DAY_OF_MONTH, 1); Random rand = new Random(); frequency.clear(); @@ -214,7 +214,7 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV pGraph.setColor(primaryColor); prevRect.setEmpty(); - GregorianCalendar currentDate = DateHelper.getStartOfTodayCalendar(); + GregorianCalendar currentDate = DateUtils.getStartOfTodayCalendar(); currentDate.set(Calendar.DAY_OF_MONTH, 1); currentDate.add(Calendar.MONTH, -nColumns + 2 - getDataOffset()); @@ -235,13 +235,13 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV float rowHeight = rect.height() / 8.0f; prevRect.set(rect); - Integer[] localeWeekdayList = DateHelper.getLocaleWeekdayList(); + Integer[] localeWeekdayList = DateUtils.getLocaleWeekdayList(); for (int j = 0; j < localeWeekdayList.length; j++) { rect.set(0, 0, baseSize, baseSize); rect.offset(prevRect.left, prevRect.top + baseSize * j); - int i = DateHelper.javaWeekdayToLoopWeekday(localeWeekdayList[j]); + int i = DateUtils.javaWeekdayToLoopWeekday(localeWeekdayList[j]); if(values != null) drawMarker(canvas, rect, values[i]); @@ -279,7 +279,7 @@ public class HabitFrequencyView extends ScrollableDataView implements HabitDataV pText.setColor(textColor); pGrid.setColor(gridColor); - for (String day : DateHelper.getLocaleDayNames(Calendar.SHORT)) { + for (String day : DateUtils.getLocaleDayNames(Calendar.SHORT)) { canvas.drawText(day, rGrid.right - columnWidth, rGrid.top + rowHeight / 2 + 0.25f * em, pText); diff --git a/app/src/main/java/org/isoron/uhabits/views/HabitHistoryView.java b/app/src/main/java/org/isoron/uhabits/views/HabitHistoryView.java index 96899585e..4c529194e 100644 --- a/app/src/main/java/org/isoron/uhabits/views/HabitHistoryView.java +++ b/app/src/main/java/org/isoron/uhabits/views/HabitHistoryView.java @@ -30,9 +30,9 @@ import android.view.HapticFeedbackConstants; import android.view.MotionEvent; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.ColorHelper; -import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.DateUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.tasks.BaseTask; import org.isoron.uhabits.tasks.ToggleRepetitionTask; @@ -98,20 +98,20 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie isEditable = false; checkmarks = new int[0]; - primaryColor = ColorHelper.getColor(getContext(), 7); - dfMonth = DateHelper.getDateFormat("MMM"); - dfYear = DateHelper.getDateFormat("yyyy"); + primaryColor = ColorUtils.getColor(getContext(), 7); + dfMonth = DateUtils.getDateFormat("MMM"); + dfYear = DateUtils.getDateFormat("yyyy"); baseLocation = new RectF(); } private void updateDate() { - baseDate = DateHelper.getStartOfTodayCalendar(); + baseDate = DateUtils.getStartOfTodayCalendar(); baseDate.add(Calendar.DAY_OF_YEAR, -(getDataOffset() - 1) * 7); nDays = (nColumns - 1) * 7; - int realWeekday = DateHelper.getStartOfTodayCalendar().get(Calendar.DAY_OF_WEEK); + int realWeekday = DateUtils.getStartOfTodayCalendar().get(Calendar.DAY_OF_WEEK); todayPositionInColumn = (7 + realWeekday - baseDate.getFirstDayOfWeek()) % 7; baseDate.add(Calendar.DAY_OF_YEAR, -nDays); @@ -133,7 +133,7 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie float baseSize = height / 8.0f; setScrollerBucketSize((int) baseSize); - squareSpacing = UIHelper.dpToPixels(getContext(), 1.0f); + squareSpacing = InterfaceUtils.dpToPixels(getContext(), 1.0f); float maxTextSize = getResources().getDimension(R.dimen.regularTextSize); float textSize = height * 0.06f; textSize = Math.min(textSize, maxTextSize); @@ -157,7 +157,7 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie { float width = 0; - for(String w : DateHelper.getLocaleDayNames(Calendar.SHORT)) + for(String w : DateUtils.getLocaleDayNames(Calendar.SHORT)) width = Math.max(width, pSquareFg.measureText(w)); return width; @@ -166,10 +166,10 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie private void createColors() { if(habit != null) - this.primaryColor = ColorHelper.getColor(getContext(), habit.color); + this.primaryColor = ColorUtils.getColor(getContext(), habit.color); if(isBackgroundTransparent) - primaryColor = ColorHelper.setMinValue(primaryColor, 0.75f); + primaryColor = ColorUtils.setMinValue(primaryColor, 0.75f); int red = Color.red(primaryColor); int green = Color.green(primaryColor); @@ -187,11 +187,11 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie else { colors = new int[3]; - colors[0] = UIHelper.getStyledColor(getContext(), R.attr.lowContrastTextColor); + colors[0] = InterfaceUtils.getStyledColor(getContext(), R.attr.lowContrastTextColor); colors[1] = Color.argb(127, red, green, blue); colors[2] = primaryColor; - textColor = UIHelper.getStyledColor(getContext(), R.attr.mediumContrastTextColor); - reverseTextColor = UIHelper.getStyledColor(getContext(), R.attr.highContrastReverseTextColor); + textColor = InterfaceUtils.getStyledColor(getContext(), R.attr.mediumContrastTextColor); + reverseTextColor = InterfaceUtils.getStyledColor(getContext(), R.attr.highContrastReverseTextColor); } } @@ -304,7 +304,7 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie { float verticalOffset = pTextHeader.getFontSpacing() * 0.4f; - for (String day : DateHelper.getLocaleDayNames(Calendar.SHORT)) + for (String day : DateUtils.getLocaleDayNames(Calendar.SHORT)) { location.offset(0, columnWidth); canvas.drawText(day, location.left + headerTextOffset, @@ -379,7 +379,7 @@ public class HabitHistoryView extends ScrollableDataView implements HabitDataVie Calendar date = (Calendar) baseDate.clone(); date.add(Calendar.DAY_OF_YEAR, offset); - if(DateHelper.getStartOfDay(date.getTimeInMillis()) > DateHelper.getStartOfToday()) + if(DateUtils.getStartOfDay(date.getTimeInMillis()) > DateUtils.getStartOfToday()) return null; return date.getTimeInMillis(); diff --git a/app/src/main/java/org/isoron/uhabits/views/HabitScoreView.java b/app/src/main/java/org/isoron/uhabits/views/HabitScoreView.java index 6258e7b13..29c00e24b 100644 --- a/app/src/main/java/org/isoron/uhabits/views/HabitScoreView.java +++ b/app/src/main/java/org/isoron/uhabits/views/HabitScoreView.java @@ -31,9 +31,9 @@ import android.support.annotation.Nullable; import android.util.AttributeSet; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.ColorHelper; -import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.DateUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Score; @@ -92,7 +92,7 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView public HabitScoreView(Context context, AttributeSet attrs) { super(context, attrs); - this.primaryColor = ColorHelper.getColor(getContext(), 7); + this.primaryColor = ColorUtils.getColor(getContext(), 7); init(); } @@ -107,9 +107,9 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView createPaints(); createColors(); - dfYear = DateHelper.getDateFormat("yyyy"); - dfMonth = DateHelper.getDateFormat("MMM"); - dfDay = DateHelper.getDateFormat("d"); + dfYear = DateUtils.getDateFormat("yyyy"); + dfMonth = DateUtils.getDateFormat("MMM"); + dfDay = DateUtils.getDateFormat("d"); rect = new RectF(); prevRect = new RectF(); @@ -118,11 +118,11 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView private void createColors() { if(habit != null) - this.primaryColor = ColorHelper.getColor(getContext(), habit.color); + this.primaryColor = ColorUtils.getColor(getContext(), habit.color); - textColor = UIHelper.getStyledColor(getContext(), R.attr.mediumContrastTextColor); - gridColor = UIHelper.getStyledColor(getContext(), R.attr.lowContrastTextColor); - backgroundColor = UIHelper.getStyledColor(getContext(), R.attr.cardBackgroundColor); + textColor = InterfaceUtils.getStyledColor(getContext(), R.attr.mediumContrastTextColor); + gridColor = InterfaceUtils.getStyledColor(getContext(), R.attr.lowContrastTextColor); + backgroundColor = InterfaceUtils.getStyledColor(getContext(), R.attr.cardBackgroundColor); } protected void createPaints() @@ -171,7 +171,7 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView columnHeight = 8 * baseSize; - float minStrokeWidth = UIHelper.dpToPixels(getContext(), 1); + float minStrokeWidth = InterfaceUtils.dpToPixels(getContext(), 1); pGraph.setTextSize(baseSize * 0.5f); pGraph.setStrokeWidth(baseSize * 0.1f); pGrid.setStrokeWidth(Math.min(minStrokeWidth, baseSize * 0.05f)); @@ -252,10 +252,10 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView previousYearText = ""; skipYear = 0; - long currentDate = DateHelper.getStartOfToday(); + long currentDate = DateUtils.getStartOfToday(); for(int k = 0; k < nColumns + getDataOffset() - 1; k++) - currentDate -= bucketSize * DateHelper.millisecondsInOneDay; + currentDate -= bucketSize * DateUtils.millisecondsInOneDay; for (int k = 0; k < nColumns; k++) { @@ -284,7 +284,7 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView drawFooter(activeCanvas, rect, currentDate); - currentDate += bucketSize * DateHelper.millisecondsInOneDay; + currentDate += bucketSize * DateUtils.millisecondsInOneDay; } if(activeCanvas != canvas) @@ -301,7 +301,7 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView String monthText = dfMonth.format(currentDate); String dayText = dfDay.format(currentDate); - GregorianCalendar calendar = DateHelper.getCalendar(currentDate); + GregorianCalendar calendar = DateUtils.getCalendar(currentDate); String text; int year = calendar.get(Calendar.YEAR); @@ -408,7 +408,7 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView private float getMaxMonthWidth() { float maxMonthWidth = 0; - GregorianCalendar day = DateHelper.getStartOfTodayCalendar(); + GregorianCalendar day = DateUtils.getStartOfTodayCalendar(); for(int i = 0; i < 12; i++) { @@ -423,7 +423,7 @@ public class HabitScoreView extends ScrollableDataView implements HabitDataView private float getMaxDayWidth() { float maxDayWidth = 0; - GregorianCalendar day = DateHelper.getStartOfTodayCalendar(); + GregorianCalendar day = DateUtils.getStartOfTodayCalendar(); for(int i = 0; i < 28; i++) { diff --git a/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java b/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java index 74fc6c518..27959fddf 100644 --- a/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java +++ b/app/src/main/java/org/isoron/uhabits/views/HabitStreakView.java @@ -28,8 +28,8 @@ import android.util.AttributeSet; import android.view.View; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.ColorHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.models.Streak; @@ -73,7 +73,7 @@ public class HabitStreakView extends View implements HabitDataView public HabitStreakView(Context context, AttributeSet attrs) { super(context, attrs); - this.primaryColor = ColorHelper.getColor(getContext(), 7); + this.primaryColor = ColorUtils.getColor(getContext(), 7); init(); } @@ -125,7 +125,7 @@ public class HabitStreakView extends View implements HabitDataView private void createColors() { if(habit != null) - this.primaryColor = ColorHelper.getColor(getContext(), habit.color); + this.primaryColor = ColorUtils.getColor(getContext(), habit.color); int red = Color.red(primaryColor); int green = Color.green(primaryColor); @@ -135,9 +135,9 @@ public class HabitStreakView extends View implements HabitDataView colors[3] = primaryColor; colors[2] = Color.argb(192, red, green, blue); colors[1] = Color.argb(96, red, green, blue); - colors[0] = UIHelper.getStyledColor(getContext(), R.attr.lowContrastTextColor); - textColor = UIHelper.getStyledColor(getContext(), R.attr.mediumContrastTextColor); - reverseTextColor = UIHelper.getStyledColor(getContext(), R.attr.highContrastReverseTextColor); + colors[0] = InterfaceUtils.getStyledColor(getContext(), R.attr.lowContrastTextColor); + textColor = InterfaceUtils.getStyledColor(getContext(), R.attr.mediumContrastTextColor); + reverseTextColor = InterfaceUtils.getStyledColor(getContext(), R.attr.highContrastReverseTextColor); } protected void createPaints() diff --git a/app/src/main/java/org/isoron/uhabits/views/HabitWidgetView.java b/app/src/main/java/org/isoron/uhabits/views/HabitWidgetView.java index bab859aaa..b7dc4a918 100644 --- a/app/src/main/java/org/isoron/uhabits/views/HabitWidgetView.java +++ b/app/src/main/java/org/isoron/uhabits/views/HabitWidgetView.java @@ -32,7 +32,7 @@ import android.view.ViewGroup; import android.widget.FrameLayout; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.models.Habit; import java.util.Arrays; @@ -71,7 +71,7 @@ public abstract class HabitWidgetView extends FrameLayout implements HabitDataV private void init() { inflate(getContext(), getInnerLayoutId(), this); - shadowAlpha = (int) (255 * UIHelper.getStyledFloat(getContext(), R.attr.widgetShadowAlpha)); + shadowAlpha = (int) (255 * InterfaceUtils.getStyledFloat(getContext(), R.attr.widgetShadowAlpha)); rebuildBackground(); } @@ -82,13 +82,13 @@ public abstract class HabitWidgetView extends FrameLayout implements HabitDataV Context context = getContext(); int backgroundAlpha = - (int) (255 * UIHelper.getStyledFloat(context, R.attr.widgetBackgroundAlpha)); + (int) (255 * InterfaceUtils.getStyledFloat(context, R.attr.widgetBackgroundAlpha)); - int shadowRadius = (int) UIHelper.dpToPixels(context, 2); - int shadowOffset = (int) UIHelper.dpToPixels(context, 1); + int shadowRadius = (int) InterfaceUtils.dpToPixels(context, 2); + int shadowOffset = (int) InterfaceUtils.dpToPixels(context, 1); int shadowColor = Color.argb(shadowAlpha, 0, 0, 0); - float cornerRadius = UIHelper.dpToPixels(context, 5); + float cornerRadius = InterfaceUtils.dpToPixels(context, 5); float[] radii = new float[8]; Arrays.fill(radii, cornerRadius); @@ -102,7 +102,7 @@ public abstract class HabitWidgetView extends FrameLayout implements HabitDataV insetRightBottom); backgroundPaint = innerDrawable.getPaint(); backgroundPaint.setShadowLayer(shadowRadius, shadowOffset, shadowOffset, shadowColor); - backgroundPaint.setColor(UIHelper.getStyledColor(context, R.attr.cardBackgroundColor)); + backgroundPaint.setColor(InterfaceUtils.getStyledColor(context, R.attr.cardBackgroundColor)); backgroundPaint.setAlpha(backgroundAlpha); frame = (ViewGroup) findViewById(R.id.frame); diff --git a/app/src/main/java/org/isoron/uhabits/views/NumberView.java b/app/src/main/java/org/isoron/uhabits/views/NumberView.java index b5412a7a3..7b788d12a 100644 --- a/app/src/main/java/org/isoron/uhabits/views/NumberView.java +++ b/app/src/main/java/org/isoron/uhabits/views/NumberView.java @@ -32,8 +32,8 @@ import android.util.AttributeSet; import android.view.View; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.ColorHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.InterfaceUtils; public class NumberView extends View { @@ -66,12 +66,12 @@ public class NumberView extends View this.textSize = getResources().getDimension(R.dimen.regularTextSize); - this.label = UIHelper.getAttribute(context, attrs, "label", "Number"); - this.number = UIHelper.getIntAttribute(context, attrs, "number", 0); - this.textSize = UIHelper.getFloatAttribute(context, attrs, "textSize", + this.label = InterfaceUtils.getAttribute(context, attrs, "label", "Number"); + this.number = InterfaceUtils.getIntAttribute(context, attrs, "number", 0); + this.textSize = InterfaceUtils.getFloatAttribute(context, attrs, "textSize", getResources().getDimension(R.dimen.regularTextSize)); - this.color = ColorHelper.getColor(getContext(), 7); + this.color = ColorUtils.getColor(getContext(), 7); init(); } diff --git a/app/src/main/java/org/isoron/uhabits/views/RepetitionCountView.java b/app/src/main/java/org/isoron/uhabits/views/RepetitionCountView.java index ee850ab2f..0ddfcea58 100644 --- a/app/src/main/java/org/isoron/uhabits/views/RepetitionCountView.java +++ b/app/src/main/java/org/isoron/uhabits/views/RepetitionCountView.java @@ -23,9 +23,9 @@ import android.content.Context; import android.util.AttributeSet; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.ColorHelper; -import org.isoron.uhabits.helpers.DateHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.DateUtils; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.models.Habit; import java.util.Calendar; @@ -39,9 +39,9 @@ public class RepetitionCountView extends NumberView implements HabitDataView public RepetitionCountView(Context context, AttributeSet attrs) { super(context, attrs); - this.interval = UIHelper.getIntAttribute(context, attrs, "interval", 7); - int labelValue = UIHelper.getIntAttribute(context, attrs, "labelValue", 7); - String labelFormat = UIHelper.getAttribute(context, attrs, "labelFormat", + this.interval = InterfaceUtils.getIntAttribute(context, attrs, "interval", 7); + int labelValue = InterfaceUtils.getIntAttribute(context, attrs, "labelValue", 7); + String labelFormat = InterfaceUtils.getAttribute(context, attrs, "labelFormat", getResources().getString(R.string.last_x_days)); setLabel(String.format(labelFormat, labelValue)); @@ -56,7 +56,7 @@ public class RepetitionCountView extends NumberView implements HabitDataView return; } - long to = DateHelper.getStartOfToday(); + long to = DateUtils.getStartOfToday(); long from; if(interval == 0) @@ -65,7 +65,7 @@ public class RepetitionCountView extends NumberView implements HabitDataView } else { - GregorianCalendar fromCalendar = DateHelper.getStartOfTodayCalendar(); + GregorianCalendar fromCalendar = DateUtils.getStartOfTodayCalendar(); fromCalendar.add(Calendar.DAY_OF_YEAR, -interval + 1); from = fromCalendar.getTimeInMillis(); } @@ -80,6 +80,6 @@ public class RepetitionCountView extends NumberView implements HabitDataView public void setHabit(Habit habit) { this.habit = habit; - setColor(ColorHelper.getColor(getContext(), habit.color)); + setColor(ColorUtils.getColor(getContext(), habit.color)); } } diff --git a/app/src/main/java/org/isoron/uhabits/views/RingView.java b/app/src/main/java/org/isoron/uhabits/views/RingView.java index cac641a22..f521fc47d 100644 --- a/app/src/main/java/org/isoron/uhabits/views/RingView.java +++ b/app/src/main/java/org/isoron/uhabits/views/RingView.java @@ -33,8 +33,8 @@ import android.util.AttributeSet; import android.view.View; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.ColorHelper; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.ColorUtils; +import org.isoron.uhabits.utils.InterfaceUtils; public class RingView extends View { @@ -70,8 +70,8 @@ public class RingView extends View percentage = 0.0f; precision = 0.01f; - color = ColorHelper.CSV_PALETTE[0]; - thickness = UIHelper.dpToPixels(getContext(), 2); + color = ColorUtils.CSV_PALETTE[0]; + thickness = InterfaceUtils.dpToPixels(getContext(), 2); text = ""; textSize = context.getResources().getDimension(R.dimen.smallTextSize); @@ -82,23 +82,23 @@ public class RingView extends View { super(context, attrs); - percentage = UIHelper.getFloatAttribute(context, attrs, "percentage", 0); - precision = UIHelper.getFloatAttribute(context, attrs, "precision", 0.01f); + percentage = InterfaceUtils.getFloatAttribute(context, attrs, "percentage", 0); + precision = InterfaceUtils.getFloatAttribute(context, attrs, "precision", 0.01f); - color = UIHelper.getColorAttribute(context, attrs, "color", 0); - backgroundColor = UIHelper.getColorAttribute(context, attrs, "backgroundColor", null); - inactiveColor = UIHelper.getColorAttribute(context, attrs, "inactiveColor", null); + color = InterfaceUtils.getColorAttribute(context, attrs, "color", 0); + backgroundColor = InterfaceUtils.getColorAttribute(context, attrs, "backgroundColor", null); + inactiveColor = InterfaceUtils.getColorAttribute(context, attrs, "inactiveColor", null); - thickness = UIHelper.getFloatAttribute(context, attrs, "thickness", 0); - thickness = UIHelper.dpToPixels(context, thickness); + thickness = InterfaceUtils.getFloatAttribute(context, attrs, "thickness", 0); + thickness = InterfaceUtils.dpToPixels(context, thickness); float defaultTextSize = context.getResources().getDimension(R.dimen.smallTextSize); - textSize = UIHelper.getFloatAttribute(context, attrs, "textSize", defaultTextSize); - textSize = UIHelper.spToPixels(context, textSize); + textSize = InterfaceUtils.getFloatAttribute(context, attrs, "textSize", defaultTextSize); + textSize = InterfaceUtils.spToPixels(context, textSize); - text = UIHelper.getAttribute(context, attrs, "text", ""); + text = InterfaceUtils.getAttribute(context, attrs, "text", ""); - enableFontAwesome = UIHelper.getBooleanAttribute(context, attrs, "enableFontAwesome", false); + enableFontAwesome = InterfaceUtils.getBooleanAttribute(context, attrs, "enableFontAwesome", false); init(); } @@ -153,12 +153,12 @@ public class RingView extends View pRing.setTextAlign(Paint.Align.CENTER); if(backgroundColor == null) - backgroundColor = UIHelper.getStyledColor(getContext(), R.attr.cardBackgroundColor); + backgroundColor = InterfaceUtils.getStyledColor(getContext(), R.attr.cardBackgroundColor); if(inactiveColor == null) - inactiveColor = UIHelper.getStyledColor(getContext(), R.attr.highContrastTextColor); + inactiveColor = InterfaceUtils.getStyledColor(getContext(), R.attr.highContrastTextColor); - inactiveColor = ColorHelper.setAlpha(inactiveColor, 0.1f); + inactiveColor = ColorUtils.setAlpha(inactiveColor, 0.1f); rect = new RectF(); } @@ -233,7 +233,7 @@ public class RingView extends View pRing.setColor(color); pRing.setTextSize(textSize); - if(enableFontAwesome) pRing.setTypeface(UIHelper.getFontAwesome(getContext())); + if(enableFontAwesome) pRing.setTypeface(InterfaceUtils.getFontAwesome(getContext())); activeCanvas.drawText(text, rect.centerX(), rect.centerY() + 0.4f * em, pRing); } diff --git a/app/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java b/app/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java index 9c36fe398..686255ece 100644 --- a/app/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java +++ b/app/src/main/java/org/isoron/uhabits/widgets/BaseWidgetProvider.java @@ -36,7 +36,7 @@ import android.widget.RemoteViews; import android.widget.TextView; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.tasks.BaseTask; @@ -170,13 +170,13 @@ public abstract class BaseWidgetProvider extends AppWidgetProvider if (options != null && Build.VERSION.SDK_INT >= Build.VERSION_CODES.JELLY_BEAN) { - maxWidth = (int) UIHelper.dpToPixels(context, + maxWidth = (int) InterfaceUtils.dpToPixels(context, options.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_WIDTH)); - maxHeight = (int) UIHelper.dpToPixels(context, + maxHeight = (int) InterfaceUtils.dpToPixels(context, options.getInt(AppWidgetManager.OPTION_APPWIDGET_MAX_HEIGHT)); - minWidth = (int) UIHelper.dpToPixels(context, + minWidth = (int) InterfaceUtils.dpToPixels(context, options.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_WIDTH)); - minHeight = (int) UIHelper.dpToPixels(context, + minHeight = (int) InterfaceUtils.dpToPixels(context, options.getInt(AppWidgetManager.OPTION_APPWIDGET_MIN_HEIGHT)); } diff --git a/app/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.java b/app/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.java index d09881acf..9d4f187c3 100644 --- a/app/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.java +++ b/app/src/main/java/org/isoron/uhabits/widgets/HabitPickerDialog.java @@ -33,7 +33,6 @@ import android.widget.ListView; import org.isoron.uhabits.MainActivity; import org.isoron.uhabits.R; import org.isoron.uhabits.models.Habit; -import org.isoron.uhabits.widgets.BaseWidgetProvider; import java.util.ArrayList; import java.util.List; diff --git a/app/src/main/java/org/isoron/uhabits/widgets/ScoreWidgetProvider.java b/app/src/main/java/org/isoron/uhabits/widgets/ScoreWidgetProvider.java index 2608887b4..a046dc70d 100644 --- a/app/src/main/java/org/isoron/uhabits/widgets/ScoreWidgetProvider.java +++ b/app/src/main/java/org/isoron/uhabits/widgets/ScoreWidgetProvider.java @@ -24,7 +24,7 @@ import android.view.View; import org.isoron.uhabits.HabitBroadcastReceiver; import org.isoron.uhabits.R; -import org.isoron.uhabits.helpers.UIHelper; +import org.isoron.uhabits.utils.InterfaceUtils; import org.isoron.uhabits.models.Habit; import org.isoron.uhabits.views.GraphWidgetView; import org.isoron.uhabits.views.HabitDataView; @@ -35,7 +35,7 @@ public class ScoreWidgetProvider extends BaseWidgetProvider @Override protected View buildCustomView(Context context, Habit habit) { - int defaultScoreInterval = UIHelper.getDefaultScoreInterval(context); + int defaultScoreInterval = InterfaceUtils.getDefaultScoreInterval(context); int size = HabitScoreView.DEFAULT_BUCKET_SIZES[defaultScoreInterval]; HabitScoreView dataView = new HabitScoreView(context); diff --git a/app/src/main/res/layout/edit_habit.xml b/app/src/main/res/layout/edit_habit.xml index bc2f0a98c..cbca604bf 100644 --- a/app/src/main/res/layout/edit_habit.xml +++ b/app/src/main/res/layout/edit_habit.xml @@ -22,7 +22,7 @@ style="@style/dialogForm" xmlns:android="http://schemas.android.com/apk/res/android" xmlns:tools="http://schemas.android.com/tools" - tools:context=".dialogs.EditHabitDialogFragment" + tools:context=".ui.edit.EditHabitDialogFragment" tools:ignore="MergeRootFrame"> + tools:context=".ui.show.ShowHabitActivity"> @@ -35,7 +35,7 @@ + tools:context=".MainActivity"> + tools:context=".MainActivity">