diff --git a/app/src/androidTest/java/org/tasks/makers/TaskMaker.java b/app/src/androidTest/java/org/tasks/makers/TaskMaker.java index ad7149b96..9b105e114 100644 --- a/app/src/androidTest/java/org/tasks/makers/TaskMaker.java +++ b/app/src/androidTest/java/org/tasks/makers/TaskMaker.java @@ -1,10 +1,10 @@ package org.tasks.makers; import static com.natpryce.makeiteasy.Property.newProperty; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.date.DateTimeUtils.newDateTime; import static org.tasks.makers.Maker.make; -import com.google.common.base.Strings; import com.google.ical.values.RRule; import com.natpryce.makeiteasy.Instantiator; import com.natpryce.makeiteasy.Property; @@ -36,7 +36,7 @@ public class TaskMaker { Task task = new Task(); String title = lookup.valueOf(TITLE, (String) null); - if (!Strings.isNullOrEmpty(title)) { + if (!isNullOrEmpty(title)) { task.setTitle(title); } diff --git a/app/src/main/java/com/todoroo/andlib/utility/DateUtilities.java b/app/src/main/java/com/todoroo/andlib/utility/DateUtilities.java index c7e964a4d..f61c4ae4c 100644 --- a/app/src/main/java/com/todoroo/andlib/utility/DateUtilities.java +++ b/app/src/main/java/com/todoroo/andlib/utility/DateUtilities.java @@ -6,13 +6,13 @@ package com.todoroo.andlib.utility; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.date.DateTimeUtils.newDateTime; import static org.tasks.time.DateTimeUtils.currentTimeMillis; import android.content.Context; import android.text.format.DateFormat; import androidx.annotation.Nullable; -import com.google.common.base.Strings; import com.todoroo.astrid.data.Task; import org.tasks.BuildConfig; import org.tasks.R; @@ -91,7 +91,7 @@ public class DateUtilities { public static String getRelativeDateTime( Context context, long date, java.util.Locale locale, FormatStyle style) { String day = getRelativeDay(context, date, locale, isAbbreviated(style)); - if (!Strings.isNullOrEmpty(day)) { + if (!isNullOrEmpty(day)) { if (Task.hasDueTime(date)) { String time = getTimeString(context, newDateTime(date)); return newDateTime().startOfDay().equals(newDateTime(date).startOfDay()) ? time : String.format("%s %s", day, time); @@ -114,7 +114,7 @@ public class DateUtilities { java.util.Locale locale, FormatStyle style) { String relativeDay = getRelativeDay(context, date, locale, isAbbreviated(style)); - return Strings.isNullOrEmpty(relativeDay) + return isNullOrEmpty(relativeDay) ? getFullDate(newDateTime(date), locale, style) : relativeDay; } diff --git a/app/src/main/java/com/todoroo/astrid/activity/BeastModePreferences.java b/app/src/main/java/com/todoroo/astrid/activity/BeastModePreferences.java index 660e98729..dc2504377 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/BeastModePreferences.java +++ b/app/src/main/java/com/todoroo/astrid/activity/BeastModePreferences.java @@ -7,6 +7,7 @@ package com.todoroo.astrid.activity; import static java.util.Arrays.asList; +import static org.tasks.Strings.isNullOrEmpty; import android.content.Context; import android.os.Bundle; @@ -16,7 +17,6 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; -import com.google.common.base.Strings; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -127,7 +127,7 @@ public class BeastModePreferences extends ThemedInjectingAppCompatActivity } String oldValue = preferences.getStringValue(BEAST_MODE_ORDER_PREF); String newValue = newSetting.toString(); - if (Strings.isNullOrEmpty(oldValue) || !oldValue.equals(newValue)) { + if (isNullOrEmpty(oldValue) || !oldValue.equals(newValue)) { preferences.setString(BEAST_MODE_ORDER_PREF, newSetting.toString()); setResult(RESULT_OK); } diff --git a/app/src/main/java/com/todoroo/astrid/activity/MainActivity.java b/app/src/main/java/com/todoroo/astrid/activity/MainActivity.java index eea9a5e51..a4e95e987 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/MainActivity.java +++ b/app/src/main/java/com/todoroo/astrid/activity/MainActivity.java @@ -6,11 +6,11 @@ package com.todoroo.astrid.activity; -import static com.google.common.base.Strings.isNullOrEmpty; import static com.todoroo.andlib.utility.AndroidUtilities.assertMainThread; import static com.todoroo.andlib.utility.AndroidUtilities.atLeastNougat; import static com.todoroo.astrid.activity.TaskEditFragment.newTaskEditFragment; import static com.todoroo.astrid.activity.TaskListFragment.newTaskListFragment; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.location.LocationPickerActivity.EXTRA_PLACE; import static org.tasks.tasklist.ActionUtils.applySupportActionModeColor; import static org.tasks.ui.NavigationDrawerFragment.REQUEST_NEW_LIST; diff --git a/app/src/main/java/com/todoroo/astrid/activity/ShareLinkActivity.java b/app/src/main/java/com/todoroo/astrid/activity/ShareLinkActivity.java index 02587da54..6d0c1db81 100644 --- a/app/src/main/java/com/todoroo/astrid/activity/ShareLinkActivity.java +++ b/app/src/main/java/com/todoroo/astrid/activity/ShareLinkActivity.java @@ -3,6 +3,7 @@ package com.todoroo.astrid.activity; import static android.content.Intent.ACTION_SEND; import static android.content.Intent.ACTION_SEND_MULTIPLE; import static com.google.common.collect.Lists.newArrayList; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.files.FileHelper.copyToUri; import static org.tasks.files.FileHelper.getFilename; import static org.tasks.intents.TaskIntents.getTaskListIntent; @@ -12,7 +13,6 @@ import android.content.Intent; import android.net.Uri; import android.os.Bundle; import androidx.core.app.TaskStackBuilder; -import com.google.common.base.Strings; import com.google.common.io.Files; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.service.TaskCreator; @@ -97,10 +97,10 @@ public final class ShareLinkActivity extends InjectingAppCompatActivity { private ArrayList copyAttachment(Intent intent) { Uri uri = intent.getParcelableExtra(Intent.EXTRA_STREAM); String filename = getFilename(context, uri); - if (Strings.isNullOrEmpty(filename)) { + if (isNullOrEmpty(filename)) { String subject = intent.getStringExtra(Intent.EXTRA_SUBJECT); filename = - Strings.isNullOrEmpty(subject) + isNullOrEmpty(subject) ? uri.getLastPathSegment() : subject.substring(0, Math.min(subject.length(), FileHelper.MAX_FILENAME_LENGTH)); } diff --git a/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java b/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java index de53bab66..24261ef00 100755 --- a/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java +++ b/app/src/main/java/com/todoroo/astrid/activity/TaskEditFragment.java @@ -11,6 +11,7 @@ import static com.google.common.collect.Iterables.filter; import static com.todoroo.andlib.utility.AndroidUtilities.assertNotMainThread; import static com.todoroo.andlib.utility.AndroidUtilities.atLeastQ; import static com.todoroo.andlib.utility.DateUtilities.now; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.date.DateTimeUtils.newDateTime; import static org.tasks.files.FileHelper.copyToUri; @@ -36,7 +37,6 @@ import androidx.coordinatorlayout.widget.CoordinatorLayout; import androidx.fragment.app.FragmentManager; import androidx.fragment.app.FragmentTransaction; import com.google.android.material.appbar.AppBarLayout; -import com.google.common.base.Strings; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.astrid.api.Filter; @@ -150,7 +150,7 @@ public final class TaskEditFragment extends InjectingFragment model.isNew() ? MenuItem.SHOW_AS_ACTION_IF_ROOM : MenuItem.SHOW_AS_ACTION_NEVER); if (savedInstanceState == null) { - showKeyboard = model.isNew() && Strings.isNullOrEmpty(model.getTitle()); + showKeyboard = model.isNew() && isNullOrEmpty(model.getTitle()); completed = model.isCompleted(); } else { completed = savedInstanceState.getBoolean(EXTRA_COMPLETED); @@ -298,7 +298,7 @@ public final class TaskEditFragment extends InjectingFragment boolean isNewTask = model.isNew(); TaskListFragment taskListFragment = ((MainActivity) getActivity()).getTaskListFragment(); String title = getTitle(); - model.setTitle(Strings.isNullOrEmpty(title) ? getString(R.string.no_title) : title); + model.setTitle(isNullOrEmpty(title) ? getString(R.string.no_title) : title); if (completed != model.isCompleted()) { model.setCompletionDate(completed ? now() : 0); } @@ -324,7 +324,7 @@ public final class TaskEditFragment extends InjectingFragment if (isNewTask) { taskListFragment.onTaskCreated(model.getUuid()); - if (!Strings.isNullOrEmpty(model.getCalendarURI())) { + if (!isNullOrEmpty(model.getCalendarURI())) { taskListFragment.makeSnackbar(R.string.calendar_event_created, model.getTitle()) .setAction(R.string.action_open, v -> { String uri = model.getCalendarURI(); @@ -371,7 +371,7 @@ public final class TaskEditFragment extends InjectingFragment String newTitle = getTitle(); if (!newTitle.equals(model.getTitle()) || (!model.isNew() && completed != model.isCompleted()) - || (model.isNew() && !Strings.isNullOrEmpty(newTitle))) { + || (model.isNew() && !isNullOrEmpty(newTitle))) { return true; } diff --git a/app/src/main/java/com/todoroo/astrid/core/CriterionInstance.java b/app/src/main/java/com/todoroo/astrid/core/CriterionInstance.java index 013ff1241..4225a9843 100644 --- a/app/src/main/java/com/todoroo/astrid/core/CriterionInstance.java +++ b/app/src/main/java/com/todoroo/astrid/core/CriterionInstance.java @@ -2,10 +2,10 @@ package com.todoroo.astrid.core; import static com.google.common.collect.Lists.transform; import static java.util.Arrays.asList; +import static org.tasks.Strings.isNullOrEmpty; import com.google.common.base.Joiner; import com.google.common.base.Splitter; -import com.google.common.base.Strings; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.astrid.api.CustomFilterCriterion; import com.todoroo.astrid.api.MultipleSelectCriterion; @@ -47,7 +47,7 @@ public class CriterionInstance { public static List fromString( FilterCriteriaProvider provider, String criterion) { - if (Strings.isNullOrEmpty(criterion)) { + if (isNullOrEmpty(criterion)) { return Collections.emptyList(); } List entries = new ArrayList<>(); @@ -91,7 +91,7 @@ public class CriterionInstance { } private static String unescape(String item) { - if (Strings.isNullOrEmpty(item)) { + if (isNullOrEmpty(item)) { return ""; } return item.replace( diff --git a/app/src/main/java/com/todoroo/astrid/data/Task.java b/app/src/main/java/com/todoroo/astrid/data/Task.java index 578a2e2b3..c5a724ada 100644 --- a/app/src/main/java/com/todoroo/astrid/data/Task.java +++ b/app/src/main/java/com/todoroo/astrid/data/Task.java @@ -8,6 +8,7 @@ package com.todoroo.astrid.data; import static com.todoroo.astrid.data.SyncFlags.SUPPRESS_SYNC; import static java.lang.annotation.RetentionPolicy.SOURCE; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.date.DateTimeUtils.newDateTime; import android.content.ContentValues; @@ -22,7 +23,6 @@ import androidx.room.Ignore; import androidx.room.Index; import androidx.room.PrimaryKey; import com.google.common.base.Objects; -import com.google.common.base.Strings; import com.google.ical.values.RRule; import com.todoroo.andlib.data.Property.IntegerProperty; import com.todoroo.andlib.data.Property.LongProperty; @@ -337,7 +337,7 @@ public class Task implements Parcelable { } public String getUuid() { - return Strings.isNullOrEmpty(remoteId) ? NO_UUID : remoteId; + return isNullOrEmpty(remoteId) ? NO_UUID : remoteId; } public void setUuid(String uuid) { @@ -453,7 +453,7 @@ public class Task implements Parcelable { } public boolean isRecurring() { - return !Strings.isNullOrEmpty(recurrence); + return !isNullOrEmpty(recurrence); } public String getRecurrence() { diff --git a/app/src/main/java/com/todoroo/astrid/repeats/RepeatControlSet.java b/app/src/main/java/com/todoroo/astrid/repeats/RepeatControlSet.java index dc3cc5788..1ffab5340 100644 --- a/app/src/main/java/com/todoroo/astrid/repeats/RepeatControlSet.java +++ b/app/src/main/java/com/todoroo/astrid/repeats/RepeatControlSet.java @@ -8,6 +8,7 @@ package com.todoroo.astrid.repeats; import static com.google.common.collect.Lists.newArrayList; import static com.google.ical.values.Frequency.MONTHLY; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.repeats.BasicRecurrenceDialog.newBasicRecurrenceDialog; import static org.tasks.time.DateTimeUtils.currentTimeMillis; @@ -26,7 +27,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import butterknife.BindView; import butterknife.OnItemSelected; -import com.google.common.base.Strings; import com.google.ical.values.RRule; import com.google.ical.values.WeekdayNum; import com.todoroo.astrid.data.Task; @@ -123,7 +123,7 @@ public class RepeatControlSet extends TaskEditControlFragment { } else { String recurrence = savedInstanceState.getString(EXTRA_RECURRENCE); dueDate = savedInstanceState.getLong(EXTRA_DUE_DATE); - if (Strings.isNullOrEmpty(recurrence)) { + if (isNullOrEmpty(recurrence)) { rrule = null; } else { try { diff --git a/app/src/main/java/com/todoroo/astrid/service/Upgrader.java b/app/src/main/java/com/todoroo/astrid/service/Upgrader.java index ec6d4afef..3c62e403e 100644 --- a/app/src/main/java/com/todoroo/astrid/service/Upgrader.java +++ b/app/src/main/java/com/todoroo/astrid/service/Upgrader.java @@ -1,13 +1,12 @@ package com.todoroo.astrid.service; -import static com.google.common.base.Strings.isNullOrEmpty; import static com.google.common.collect.Iterables.transform; import static com.google.common.collect.Lists.newArrayList; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.db.DbUtils.batch; import android.content.Context; import androidx.annotation.ColorRes; -import com.google.common.base.Strings; import com.google.common.collect.ImmutableList; import com.google.common.collect.ImmutableListMultimap; import com.google.common.collect.ListMultimap; @@ -236,7 +235,7 @@ public class Upgrader { continue; } task.setRemoteParent(iCalendar.Companion.getParent(remoteTask)); - if (!Strings.isNullOrEmpty(task.getRemoteParent())) { + if (!isNullOrEmpty(task.getRemoteParent())) { updated.add(task); } } @@ -335,7 +334,7 @@ public class Upgrader { private void migrateUriPreference(int pref) { String path = preferences.getStringValue(pref); - if (Strings.isNullOrEmpty(path)) { + if (isNullOrEmpty(path)) { return; } File file = new File(path); diff --git a/app/src/main/java/org/tasks/Strings.java b/app/src/main/java/org/tasks/Strings.java new file mode 100644 index 000000000..6bed94485 --- /dev/null +++ b/app/src/main/java/org/tasks/Strings.java @@ -0,0 +1,7 @@ +package org.tasks; + +public class Strings { + public static boolean isNullOrEmpty(String string) { + return string == null || string.isEmpty(); + } +} diff --git a/app/src/main/java/org/tasks/activities/FilterSettingsActivity.java b/app/src/main/java/org/tasks/activities/FilterSettingsActivity.java index fe259cb34..a57c42d28 100644 --- a/app/src/main/java/org/tasks/activities/FilterSettingsActivity.java +++ b/app/src/main/java/org/tasks/activities/FilterSettingsActivity.java @@ -11,6 +11,7 @@ import static com.google.common.collect.Iterables.find; import static com.google.common.collect.Lists.newArrayList; import static com.google.common.collect.Lists.transform; import static com.todoroo.andlib.utility.AndroidUtilities.mapToSerializedString; +import static org.tasks.Strings.isNullOrEmpty; import android.content.Context; import android.content.DialogInterface; @@ -33,7 +34,6 @@ import com.google.android.material.button.MaterialButtonToggleGroup; import com.google.android.material.floatingactionbutton.ExtendedFloatingActionButton; import com.google.android.material.textfield.TextInputEditText; import com.google.android.material.textfield.TextInputLayout; -import com.google.common.base.Strings; import com.todoroo.andlib.data.Property.CountProperty; import com.todoroo.andlib.sql.Query; import com.todoroo.andlib.sql.UnaryCriterion; @@ -323,7 +323,7 @@ public class FilterSettingsActivity extends BaseListSettingsActivity { @Override protected boolean hasChanges() { if (isNew()) { - return !Strings.isNullOrEmpty(getNewName()) + return !isNullOrEmpty(getNewName()) || selectedColor != 0 || selectedIcon != -1 || criteria.size() > 1; diff --git a/app/src/main/java/org/tasks/activities/PlaceSettingsActivity.kt b/app/src/main/java/org/tasks/activities/PlaceSettingsActivity.kt index b88f6391b..4124522b7 100644 --- a/app/src/main/java/org/tasks/activities/PlaceSettingsActivity.kt +++ b/app/src/main/java/org/tasks/activities/PlaceSettingsActivity.kt @@ -3,7 +3,6 @@ package org.tasks.activities import android.app.Activity import android.content.Intent import android.os.Bundle -import android.text.TextUtils import butterknife.BindView import butterknife.OnTextChanged import com.google.android.material.textfield.TextInputEditText @@ -11,6 +10,7 @@ import com.google.android.material.textfield.TextInputLayout import com.todoroo.astrid.activity.MainActivity import com.todoroo.astrid.activity.TaskListFragment import org.tasks.R +import org.tasks.Strings.isNullOrEmpty import org.tasks.data.LocationDao import org.tasks.data.Place import org.tasks.filters.PlaceFilter @@ -72,7 +72,7 @@ class PlaceSettingsActivity : BaseListSettingsActivity(), MapFragment.MapFragmen override fun save() { val newName: String = name.text.toString() - if (TextUtils.isEmpty(newName)) { + if (isNullOrEmpty(newName)) { nameLayout.error = getString(R.string.name_cannot_be_empty) return } diff --git a/app/src/main/java/org/tasks/caldav/BaseCaldavAccountSettingsActivity.java b/app/src/main/java/org/tasks/caldav/BaseCaldavAccountSettingsActivity.java index 821d7976e..686c1e76f 100644 --- a/app/src/main/java/org/tasks/caldav/BaseCaldavAccountSettingsActivity.java +++ b/app/src/main/java/org/tasks/caldav/BaseCaldavAccountSettingsActivity.java @@ -2,6 +2,7 @@ package org.tasks.caldav; import static android.text.TextUtils.isEmpty; import static com.todoroo.astrid.data.Task.NO_ID; +import static org.tasks.Strings.isNullOrEmpty; import android.content.Context; import android.content.Intent; @@ -20,7 +21,6 @@ import butterknife.OnFocusChange; import butterknife.OnTextChanged; import com.google.android.material.snackbar.BaseTransientBottomBar; import com.google.android.material.snackbar.Snackbar; -import com.google.common.base.Strings; import com.todoroo.astrid.service.TaskDeleter; import java.net.ConnectException; import java.net.IDN; @@ -173,7 +173,7 @@ public abstract class BaseCaldavAccountSettingsActivity extends ThemedInjectingA protected String getNewName() { String name = binding.name.getText().toString().trim(); - return Strings.isNullOrEmpty(name) ? getNewUsername() : name; + return isNullOrEmpty(name) ? getNewUsername() : name; } protected String getNewURL() { diff --git a/app/src/main/java/org/tasks/caldav/CaldavConverter.java b/app/src/main/java/org/tasks/caldav/CaldavConverter.java index afa97c1b3..fe0052d5b 100644 --- a/app/src/main/java/org/tasks/caldav/CaldavConverter.java +++ b/app/src/main/java/org/tasks/caldav/CaldavConverter.java @@ -3,10 +3,10 @@ package org.tasks.caldav; import static com.todoroo.andlib.utility.DateUtilities.now; import static com.todoroo.astrid.data.Task.URGENCY_SPECIFIC_DAY; import static com.todoroo.astrid.data.Task.URGENCY_SPECIFIC_DAY_TIME; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.date.DateTimeUtils.newDateTime; import at.bitfire.ical4android.DateUtils; -import com.google.common.base.Strings; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.data.Task.Priority; import java.text.DateFormat; @@ -106,7 +106,7 @@ public class CaldavConverter { public static at.bitfire.ical4android.Task toCaldav(CaldavTask caldavTask, Task task) { at.bitfire.ical4android.Task remote = null; try { - if (!Strings.isNullOrEmpty(caldavTask.getVtodo())) { + if (!isNullOrEmpty(caldavTask.getVtodo())) { remote = iCalendar.Companion.fromVtodo(caldavTask.getVtodo()); } } catch (Exception e) { diff --git a/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.java b/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.java index 573f67518..14b2a7920 100644 --- a/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.java +++ b/app/src/main/java/org/tasks/caldav/CaldavSynchronizer.java @@ -1,12 +1,12 @@ package org.tasks.caldav; -import static com.google.common.base.Strings.isNullOrEmpty; import static com.google.common.collect.Iterables.filter; import static com.google.common.collect.Iterables.partition; import static com.google.common.collect.Lists.newArrayList; import static com.google.common.collect.Lists.transform; import static com.google.common.collect.Sets.difference; import static com.google.common.collect.Sets.newHashSet; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.time.DateTimeUtils.currentTimeMillis; import android.content.Context; @@ -26,7 +26,6 @@ import at.bitfire.dav4jvm.property.GetCTag; import at.bitfire.dav4jvm.property.GetETag; import at.bitfire.dav4jvm.property.SyncToken; import at.bitfire.ical4android.ICalendar; -import com.google.common.base.Strings; import com.google.common.collect.ImmutableSet; import com.google.common.collect.Iterables; import com.todoroo.astrid.dao.TaskDao; @@ -167,7 +166,7 @@ public class CaldavSynchronizer { account.setError(message); caldavDao.update(account); localBroadcastManager.broadcastRefreshList(); - if (!Strings.isNullOrEmpty(message)) { + if (!isNullOrEmpty(message)) { Timber.e(message); } } @@ -280,7 +279,7 @@ public class CaldavSynchronizer { private boolean deleteRemoteResource( OkHttpClient httpClient, HttpUrl httpUrl, CaldavTask caldavTask) { try { - if (!Strings.isNullOrEmpty(caldavTask.getObject())) { + if (!isNullOrEmpty(caldavTask.getObject())) { DavResource remote = new DavResource( httpClient, httpUrl.newBuilder().addPathSegment(caldavTask.getObject()).build()); diff --git a/app/src/main/java/org/tasks/caldav/iCalendar.kt b/app/src/main/java/org/tasks/caldav/iCalendar.kt index f27cf72ea..ba015c438 100644 --- a/app/src/main/java/org/tasks/caldav/iCalendar.kt +++ b/app/src/main/java/org/tasks/caldav/iCalendar.kt @@ -3,7 +3,6 @@ package org.tasks.caldav import at.bitfire.ical4android.Task import at.bitfire.ical4android.Task.Companion.tasksFromReader import com.google.common.base.Predicate -import com.google.common.base.Strings import com.google.common.collect.Iterables import com.google.common.collect.Lists import com.google.common.collect.Sets.difference @@ -16,6 +15,7 @@ import net.fortuna.ical4j.model.Parameter import net.fortuna.ical4j.model.parameter.RelType import net.fortuna.ical4j.model.property.Geo import net.fortuna.ical4j.model.property.RelatedTo +import org.tasks.Strings.isNullOrEmpty import org.tasks.caldav.GeoUtils.equalish import org.tasks.caldav.GeoUtils.toGeo import org.tasks.caldav.GeoUtils.toLikeString @@ -65,7 +65,7 @@ class iCalendar @Inject constructor( fun setParent(remote: Task, value: String?) { val relatedTo = remote.relatedTo - if (Strings.isNullOrEmpty(value)) { + if (isNullOrEmpty(value)) { Iterables.removeIf(relatedTo, IS_PARENT) } else { val parent = Iterables.tryFind(relatedTo, IS_PARENT) @@ -121,7 +121,7 @@ class iCalendar @Inject constructor( val categories = remoteModel.categories categories.clear() categories.addAll(Lists.transform(tagDataDao.getTagDataForTask(task.getId())) { obj: TagData? -> obj!!.name }) - if (Strings.isNullOrEmpty(caldavTask.remoteId)) { + if (isNullOrEmpty(caldavTask.remoteId)) { val caldavUid = UUIDHelper.newUUID() caldavTask.remoteId = caldavUid remoteModel.uid = caldavUid diff --git a/app/src/main/java/org/tasks/calendars/CalendarPicker.java b/app/src/main/java/org/tasks/calendars/CalendarPicker.java index 629138bc1..585d3f06f 100644 --- a/app/src/main/java/org/tasks/calendars/CalendarPicker.java +++ b/app/src/main/java/org/tasks/calendars/CalendarPicker.java @@ -2,6 +2,7 @@ package org.tasks.calendars; import static com.google.common.collect.Lists.transform; import static org.tasks.PermissionUtil.verifyPermissions; +import static org.tasks.Strings.isNullOrEmpty; import android.app.Activity; import android.app.Dialog; @@ -12,7 +13,6 @@ import android.widget.Toast; import androidx.annotation.NonNull; import androidx.appcompat.app.AlertDialog; import androidx.fragment.app.Fragment; -import com.google.common.base.Strings; import java.util.ArrayList; import java.util.List; import javax.inject.Inject; @@ -104,7 +104,7 @@ public class CalendarPicker extends InjectingDialogFragment { calendarNames.addAll(transform(calendars, AndroidCalendar::getName)); Bundle arguments = getArguments(); String selected = arguments.getString(EXTRA_SELECTED); - int selectedIndex = Strings.isNullOrEmpty(selected) ? 0 : calendarNames.indexOf(selected); + int selectedIndex = isNullOrEmpty(selected) ? 0 : calendarNames.indexOf(selected); adapter.notifyDataSetChanged(); listView.setItemChecked(selectedIndex, true); listView.setSelection(selectedIndex); diff --git a/app/src/main/java/org/tasks/calendars/CalendarProvider.java b/app/src/main/java/org/tasks/calendars/CalendarProvider.java index 367f86986..45ec9e9f7 100644 --- a/app/src/main/java/org/tasks/calendars/CalendarProvider.java +++ b/app/src/main/java/org/tasks/calendars/CalendarProvider.java @@ -1,6 +1,7 @@ package org.tasks.calendars; import static android.provider.BaseColumns._ID; +import static org.tasks.Strings.isNullOrEmpty; import android.content.ContentResolver; import android.content.Context; @@ -8,7 +9,6 @@ import android.database.Cursor; import android.net.Uri; import android.provider.CalendarContract; import androidx.annotation.Nullable; -import com.google.common.base.Strings; import java.util.ArrayList; import java.util.Collections; import java.util.List; @@ -43,7 +43,7 @@ public class CalendarProvider { @Nullable public AndroidCalendar getCalendar(String id) { - if (Strings.isNullOrEmpty(id)) { + if (isNullOrEmpty(id)) { return null; } List calendars = diff --git a/app/src/main/java/org/tasks/data/Filter.java b/app/src/main/java/org/tasks/data/Filter.java index 7aa69b609..1c8820a0b 100644 --- a/app/src/main/java/org/tasks/data/Filter.java +++ b/app/src/main/java/org/tasks/data/Filter.java @@ -1,9 +1,10 @@ package org.tasks.data; +import static org.tasks.Strings.isNullOrEmpty; + import androidx.room.ColumnInfo; import androidx.room.Entity; import androidx.room.PrimaryKey; -import com.google.common.base.Strings; import com.todoroo.andlib.utility.AndroidUtilities; import java.util.Map; import org.tasks.themes.CustomIcons; @@ -63,7 +64,7 @@ public class Filter { } public Map getValuesAsMap() { - return Strings.isNullOrEmpty(values) ? null : AndroidUtilities.mapFromSerializedString(values); + return isNullOrEmpty(values) ? null : AndroidUtilities.mapFromSerializedString(values); } public void setValues(String values) { diff --git a/app/src/main/java/org/tasks/data/Place.java b/app/src/main/java/org/tasks/data/Place.java index 817584391..f35b3ba61 100644 --- a/app/src/main/java/org/tasks/data/Place.java +++ b/app/src/main/java/org/tasks/data/Place.java @@ -1,6 +1,7 @@ package org.tasks.data; import static com.mapbox.api.geocoding.v5.GeocodingCriteria.TYPE_ADDRESS; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.data.Place.TABLE_NAME; import android.content.Context; @@ -18,7 +19,6 @@ import androidx.room.Entity; import androidx.room.Ignore; import androidx.room.Index; import androidx.room.PrimaryKey; -import com.google.common.base.Strings; import com.mapbox.api.geocoding.v5.models.CarmenFeature; import com.todoroo.andlib.data.Property.StringProperty; import com.todoroo.andlib.data.Table; @@ -255,10 +255,10 @@ public class Place implements Serializable, Parcelable { } public String getDisplayName() { - if (!Strings.isNullOrEmpty(name) && !COORDS.matcher(name).matches()) { + if (!isNullOrEmpty(name) && !COORDS.matcher(name).matches()) { return name; } - if (!Strings.isNullOrEmpty(address)) { + if (!isNullOrEmpty(address)) { return address; } return String.format( @@ -266,7 +266,7 @@ public class Place implements Serializable, Parcelable { } public String getDisplayAddress() { - return Strings.isNullOrEmpty(address) ? null : address.replace(String.format("%s, ", name), ""); + return isNullOrEmpty(address) ? null : address.replace(String.format("%s, ", name), ""); } public void open(Context context) { diff --git a/app/src/main/java/org/tasks/data/TaskAttachment.java b/app/src/main/java/org/tasks/data/TaskAttachment.java index e8cd5a897..aed726e79 100644 --- a/app/src/main/java/org/tasks/data/TaskAttachment.java +++ b/app/src/main/java/org/tasks/data/TaskAttachment.java @@ -1,11 +1,12 @@ package org.tasks.data; +import static org.tasks.Strings.isNullOrEmpty; + import android.net.Uri; import androidx.room.ColumnInfo; import androidx.room.Entity; import androidx.room.Ignore; import androidx.room.PrimaryKey; -import com.google.common.base.Strings; import com.todoroo.andlib.data.Table; import com.todoroo.astrid.data.Task; import java.io.File; @@ -106,6 +107,6 @@ public final class TaskAttachment { } public Uri parseUri() { - return Strings.isNullOrEmpty(uri) ? null : Uri.parse(uri); + return isNullOrEmpty(uri) ? null : Uri.parse(uri); } } diff --git a/app/src/main/java/org/tasks/data/UserActivity.java b/app/src/main/java/org/tasks/data/UserActivity.java index cc29643af..1e6a7804b 100644 --- a/app/src/main/java/org/tasks/data/UserActivity.java +++ b/app/src/main/java/org/tasks/data/UserActivity.java @@ -1,5 +1,7 @@ package org.tasks.data; +import static org.tasks.Strings.isNullOrEmpty; + import android.net.Uri; import android.os.Parcel; import android.os.Parcelable; @@ -7,7 +9,6 @@ import androidx.room.ColumnInfo; import androidx.room.Entity; import androidx.room.Ignore; import androidx.room.PrimaryKey; -import com.google.common.base.Strings; import com.todoroo.astrid.data.Task; import java.io.File; import org.json.JSONException; @@ -78,7 +79,7 @@ public class UserActivity implements Parcelable { private static Uri getLegacyPictureUri(String value) { try { - if (Strings.isNullOrEmpty(value)) { + if (isNullOrEmpty(value)) { return null; } if (value.contains("uri") || value.contains("path")) { @@ -151,7 +152,7 @@ public class UserActivity implements Parcelable { } public Uri getPictureUri() { - return Strings.isNullOrEmpty(picture) ? null : Uri.parse(picture); + return isNullOrEmpty(picture) ? null : Uri.parse(picture); } public void convertPictureUri() { diff --git a/app/src/main/java/org/tasks/dialogs/Linkify.java b/app/src/main/java/org/tasks/dialogs/Linkify.java index 8a53a8fcb..8b3952592 100644 --- a/app/src/main/java/org/tasks/dialogs/Linkify.java +++ b/app/src/main/java/org/tasks/dialogs/Linkify.java @@ -1,6 +1,7 @@ package org.tasks.dialogs; import static java.util.Arrays.asList; +import static org.tasks.Strings.isNullOrEmpty; import android.content.Context; import android.content.Intent; @@ -11,7 +12,6 @@ import android.text.SpannableStringBuilder; import android.text.style.URLSpan; import android.view.View; import android.widget.TextView; -import com.google.common.base.Strings; import java.io.UnsupportedEncodingException; import java.net.URLDecoder; import javax.inject.Inject; @@ -82,7 +82,7 @@ public class Linkify { String url = getURL(); Uri uri = Uri.parse(url); String scheme = uri.getScheme(); - if (Strings.isNullOrEmpty(scheme)) { + if (isNullOrEmpty(scheme)) { scheme = ""; } switch (scheme) { diff --git a/app/src/main/java/org/tasks/etesync/EteSyncAccountSettingsActivity.java b/app/src/main/java/org/tasks/etesync/EteSyncAccountSettingsActivity.java index 607aef5f1..2597ab425 100644 --- a/app/src/main/java/org/tasks/etesync/EteSyncAccountSettingsActivity.java +++ b/app/src/main/java/org/tasks/etesync/EteSyncAccountSettingsActivity.java @@ -1,6 +1,7 @@ package org.tasks.etesync; import static com.todoroo.astrid.data.Task.NO_ID; +import static org.tasks.Strings.isNullOrEmpty; import android.content.Context; import android.content.Intent; @@ -15,7 +16,6 @@ import com.etesync.journalmanager.Crypto.CryptoManager; import com.etesync.journalmanager.Exceptions.IntegrityException; import com.etesync.journalmanager.Exceptions.VersionTooNewException; import com.etesync.journalmanager.UserInfoManager.UserInfo; -import com.google.common.base.Strings; import com.todoroo.astrid.helper.UUIDHelper; import io.reactivex.Completable; import io.reactivex.schedulers.Schedulers; @@ -112,7 +112,7 @@ public class EteSyncAccountSettingsActivity extends BaseCaldavAccountSettingsAct private boolean testUserInfo(UserInfo userInfo) { String encryptionKey = caldavAccount.getEncryptionPassword(encryption); - if (userInfo != null && !Strings.isNullOrEmpty(encryptionKey)) { + if (userInfo != null && !isNullOrEmpty(encryptionKey)) { try { CryptoManager cryptoManager = new CryptoManager(userInfo.getVersion(), encryptionKey, "userInfo"); @@ -136,7 +136,7 @@ public class EteSyncAccountSettingsActivity extends BaseCaldavAccountSettingsAct @Override protected boolean needsValidation() { - return super.needsValidation() || Strings.isNullOrEmpty(caldavAccount.getEncryptionKey()); + return super.needsValidation() || isNullOrEmpty(caldavAccount.getEncryptionKey()); } @Override @@ -163,7 +163,7 @@ public class EteSyncAccountSettingsActivity extends BaseCaldavAccountSettingsAct @Override protected String getNewURL() { String url = super.getNewURL(); - return Strings.isNullOrEmpty(url) ? getString(R.string.etesync_url) : url; + return isNullOrEmpty(url) ? getString(R.string.etesync_url) : url; } @Override diff --git a/app/src/main/java/org/tasks/etesync/EteSynchronizer.java b/app/src/main/java/org/tasks/etesync/EteSynchronizer.java index 6a16c681d..6c39ba7f2 100644 --- a/app/src/main/java/org/tasks/etesync/EteSynchronizer.java +++ b/app/src/main/java/org/tasks/etesync/EteSynchronizer.java @@ -1,11 +1,11 @@ package org.tasks.etesync; -import static com.google.common.base.Strings.isNullOrEmpty; import static com.google.common.collect.FluentIterable.from; import static com.google.common.collect.Lists.newArrayList; import static com.google.common.collect.Maps.newHashMap; import static com.google.common.collect.Sets.newHashSet; import static java.util.Collections.emptySet; +import static org.tasks.Strings.isNullOrEmpty; import android.content.Context; import androidx.core.util.Pair; @@ -22,7 +22,6 @@ import com.etesync.journalmanager.UserInfoManager.UserInfo; import com.etesync.journalmanager.model.CollectionInfo; import com.etesync.journalmanager.model.SyncEntry; import com.etesync.journalmanager.model.SyncEntry.Actions; -import com.google.common.base.Strings; import com.google.common.collect.Iterables; import com.todoroo.astrid.helper.UUIDHelper; import com.todoroo.astrid.service.TaskDeleter; @@ -151,7 +150,7 @@ public class EteSynchronizer { account.setError(message); caldavDao.update(account); localBroadcastManager.broadcastRefreshList(); - if (!Strings.isNullOrEmpty(message)) { + if (!isNullOrEmpty(message)) { Timber.e(message); } } @@ -167,7 +166,7 @@ public class EteSynchronizer { } String remoteCtag = journal.getLastUid(); - if (Strings.isNullOrEmpty(remoteCtag) || !remoteCtag.equals(caldavCalendar.getCtag())) { + if (isNullOrEmpty(remoteCtag) || !remoteCtag.equals(caldavCalendar.getCtag())) { Timber.v("Applying remote changes"); client.getSyncEntries( userInfo, @@ -181,14 +180,14 @@ public class EteSynchronizer { List changes = new ArrayList<>(); for (CaldavTask task : caldavDao.getDeleted(caldavCalendar.getUuid())) { String vtodo = task.getVtodo(); - if (!Strings.isNullOrEmpty(vtodo)) { + if (!isNullOrEmpty(vtodo)) { changes.add(new SyncEntry(vtodo, Actions.DELETE)); } } for (CaldavTaskContainer task : localChanges.values()) { String vtodo = task.getVtodo(); - boolean existingTask = !Strings.isNullOrEmpty(vtodo); + boolean existingTask = !isNullOrEmpty(vtodo); if (task.isDeleted()) { if (existingTask) { @@ -206,7 +205,7 @@ public class EteSynchronizer { CryptoManager crypto = client.getCrypto(userInfo, journal); List> updates = new ArrayList<>(); JournalEntryManager.Entry previous = - Strings.isNullOrEmpty(remoteCtag) ? null : Entry.getFakeWithUid(remoteCtag); + isNullOrEmpty(remoteCtag) ? null : Entry.getFakeWithUid(remoteCtag); for (SyncEntry syncEntry : changes) { Entry entry = new Entry(); diff --git a/app/src/main/java/org/tasks/etesync/UpdateEteSyncAccountViewModel.java b/app/src/main/java/org/tasks/etesync/UpdateEteSyncAccountViewModel.java index 3d25864d9..d6350d596 100644 --- a/app/src/main/java/org/tasks/etesync/UpdateEteSyncAccountViewModel.java +++ b/app/src/main/java/org/tasks/etesync/UpdateEteSyncAccountViewModel.java @@ -1,9 +1,10 @@ package org.tasks.etesync; +import static org.tasks.Strings.isNullOrEmpty; + import androidx.annotation.Nullable; import androidx.core.util.Pair; import com.etesync.journalmanager.UserInfoManager.UserInfo; -import com.google.common.base.Strings; import org.tasks.ui.CompletableViewModel; @SuppressWarnings("WeakerAccess") @@ -17,7 +18,7 @@ public class UpdateEteSyncAccountViewModel extends CompletableViewModel { client.setForeground(); - if (Strings.isNullOrEmpty(password)) { + if (isNullOrEmpty(password)) { return Pair.create(client.forUrl(url, username, null, token).getUserInfo(), token); } else { String newToken = client.forUrl(url, username, null, null).getToken(password); diff --git a/app/src/main/java/org/tasks/files/FileHelper.java b/app/src/main/java/org/tasks/files/FileHelper.java index 1007e90cd..0021ea502 100644 --- a/app/src/main/java/org/tasks/files/FileHelper.java +++ b/app/src/main/java/org/tasks/files/FileHelper.java @@ -5,6 +5,7 @@ import static android.provider.DocumentsContract.EXTRA_INITIAL_URI; import static androidx.core.content.FileProvider.getUriForFile; import static com.google.common.collect.Iterables.any; import static com.todoroo.astrid.utility.Constants.FILE_PROVIDER_AUTHORITY; +import static org.tasks.Strings.isNullOrEmpty; import android.annotation.TargetApi; import android.app.Activity; @@ -21,7 +22,6 @@ import android.widget.Toast; import androidx.annotation.Nullable; import androidx.documentfile.provider.DocumentFile; import androidx.fragment.app.Fragment; -import com.google.common.base.Strings; import com.google.common.io.ByteStreams; import com.google.common.io.Files; import java.io.File; @@ -135,13 +135,13 @@ public class FileHelper { if (uri.getScheme().equals(ContentResolver.SCHEME_CONTENT)) { String mimeType = context.getContentResolver().getType(uri); String extension = MimeTypeMap.getSingleton().getExtensionFromMimeType(mimeType); - if (!Strings.isNullOrEmpty(extension)) { + if (!isNullOrEmpty(extension)) { return extension; } } String extension = MimeTypeMap.getFileExtensionFromUrl(uri.getPath()); - if (!Strings.isNullOrEmpty(extension)) { + if (!isNullOrEmpty(extension)) { return extension; } @@ -150,7 +150,7 @@ public class FileHelper { public static String getMimeType(Context context, Uri uri) { String mimeType = context.getContentResolver().getType(uri); - if (!Strings.isNullOrEmpty(mimeType)) { + if (!isNullOrEmpty(mimeType)) { return mimeType; } String extension = getExtension(context, uri); diff --git a/app/src/main/java/org/tasks/filters/FilterProvider.java b/app/src/main/java/org/tasks/filters/FilterProvider.java index b1c6e53c8..ba3f2556d 100644 --- a/app/src/main/java/org/tasks/filters/FilterProvider.java +++ b/app/src/main/java/org/tasks/filters/FilterProvider.java @@ -1,6 +1,5 @@ package org.tasks.filters; -import static com.google.common.base.Strings.isNullOrEmpty; import static com.google.common.collect.Iterables.concat; import static com.google.common.collect.Iterables.filter; import static com.google.common.collect.Lists.newArrayList; @@ -8,6 +7,7 @@ import static com.google.common.collect.Lists.transform; import static com.todoroo.andlib.utility.AndroidUtilities.assertNotMainThread; import static com.todoroo.andlib.utility.DateUtilities.now; import static java.util.Collections.emptyList; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.caldav.CaldavCalendarSettingsActivity.EXTRA_CALDAV_ACCOUNT; import static org.tasks.ui.NavigationDrawerFragment.REQUEST_DONATE; import static org.tasks.ui.NavigationDrawerFragment.REQUEST_PURCHASE; diff --git a/app/src/main/java/org/tasks/fragments/CommentBarFragment.java b/app/src/main/java/org/tasks/fragments/CommentBarFragment.java index 6cac6a1d5..053294ce4 100644 --- a/app/src/main/java/org/tasks/fragments/CommentBarFragment.java +++ b/app/src/main/java/org/tasks/fragments/CommentBarFragment.java @@ -1,5 +1,6 @@ package org.tasks.fragments; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.files.ImageHelper.sampleBitmap; import android.app.Activity; @@ -25,7 +26,6 @@ import butterknife.ButterKnife; import butterknife.OnClick; import butterknife.OnEditorAction; import butterknife.OnTextChanged; -import com.google.common.base.Strings; import com.todoroo.andlib.utility.AndroidUtilities; import com.todoroo.astrid.data.Task; import java.util.ArrayList; @@ -129,7 +129,7 @@ public class CommentBarFragment extends TaskEditControlFragment { @OnTextChanged(R.id.commentField) void onTextChanged(CharSequence s) { commentButton.setVisibility( - pendingCommentPicture == null && Strings.isNullOrEmpty(s.toString()) + pendingCommentPicture == null && isNullOrEmpty(s.toString()) ? View.GONE : View.VISIBLE); } diff --git a/app/src/main/java/org/tasks/gtasks/GoogleAccountManager.java b/app/src/main/java/org/tasks/gtasks/GoogleAccountManager.java index 32aa94f09..4fa4d0d76 100644 --- a/app/src/main/java/org/tasks/gtasks/GoogleAccountManager.java +++ b/app/src/main/java/org/tasks/gtasks/GoogleAccountManager.java @@ -4,6 +4,7 @@ import static com.google.common.collect.Iterables.tryFind; import static com.google.common.collect.Lists.transform; import static com.todoroo.andlib.utility.AndroidUtilities.assertNotMainThread; import static java.util.Arrays.asList; +import static org.tasks.Strings.isNullOrEmpty; import android.accounts.Account; import android.accounts.AccountManager; @@ -16,7 +17,6 @@ import android.content.Intent; import android.os.Bundle; import com.google.api.services.drive.DriveScopes; import com.google.api.services.tasks.TasksScopes; -import com.google.common.base.Strings; import io.reactivex.Single; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.schedulers.Schedulers; @@ -56,7 +56,7 @@ public class GoogleAccountManager { } public Account getAccount(String name) { - if (Strings.isNullOrEmpty(name)) { + if (isNullOrEmpty(name)) { return null; } @@ -81,7 +81,7 @@ public class GoogleAccountManager { try { String token = accountManager.blockingGetAuthToken(account, "oauth2:" + scope, !alreadyNotified); - preferences.setAlreadyNotified(name, scope, Strings.isNullOrEmpty(token)); + preferences.setAlreadyNotified(name, scope, isNullOrEmpty(token)); return token; } catch (AuthenticatorException | IOException | OperationCanceledException e) { Timber.e(e); diff --git a/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java b/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java index cb5d4237c..95a6a2fc8 100644 --- a/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java +++ b/app/src/main/java/org/tasks/gtasks/GoogleTaskSynchronizer.java @@ -1,6 +1,7 @@ package org.tasks.gtasks; import static com.google.common.collect.Lists.transform; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.date.DateTimeUtils.newDateTime; import android.content.Context; @@ -10,7 +11,6 @@ import com.google.api.client.googleapis.json.GoogleJsonResponseException; import com.google.api.services.tasks.model.TaskList; import com.google.api.services.tasks.model.TaskLists; import com.google.api.services.tasks.model.Tasks; -import com.google.common.base.Strings; import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.GtasksFilter; @@ -58,10 +58,10 @@ public class GoogleTaskSynchronizer { private static final Comparator PARENTS_FIRST = (o1, o2) -> { - if (Strings.isNullOrEmpty(o1.getParent())) { - return Strings.isNullOrEmpty(o2.getParent()) ? 0 : -1; + if (isNullOrEmpty(o1.getParent())) { + return isNullOrEmpty(o2.getParent()) ? 0 : -1; } else { - return Strings.isNullOrEmpty(o2.getParent()) ? 1 : 0; + return isNullOrEmpty(o2.getParent()) ? 1 : 0; } }; @@ -187,7 +187,7 @@ public class GoogleTaskSynchronizer { gtaskLists.addAll(items); } nextPageToken = remoteLists.getNextPageToken(); - } while (!Strings.isNullOrEmpty(nextPageToken)); + } while (!isNullOrEmpty(nextPageToken)); gtasksListService.updateLists(account, gtaskLists); Filter defaultRemoteList = defaultFilterProvider.getDefaultRemoteList(); if (defaultRemoteList instanceof GtasksFilter) { @@ -199,7 +199,7 @@ public class GoogleTaskSynchronizer { } for (GoogleTaskList list : googleTaskListDao.getByRemoteId(transform(gtaskLists, TaskList::getId))) { - if (Strings.isNullOrEmpty(list.getRemoteId())) { + if (isNullOrEmpty(list.getRemoteId())) { tracker.reportException(new RuntimeException("Empty remote id")); continue; } @@ -236,7 +236,7 @@ public class GoogleTaskSynchronizer { tasks.addAll(items); } nextPageToken = taskList.getNextPageToken(); - } while (!Strings.isNullOrEmpty(nextPageToken)); + } while (!isNullOrEmpty(nextPageToken)); return tasks; } @@ -271,9 +271,9 @@ public class GoogleTaskSynchronizer { ? ((GtasksFilter) defaultRemoteList).getRemoteId() : DEFAULT_LIST; - if (Strings.isNullOrEmpty(gtasksMetadata.getRemoteId())) { // Create case + if (isNullOrEmpty(gtasksMetadata.getRemoteId())) { // Create case String selectedList = gtasksMetadata.getListId(); - if (!Strings.isNullOrEmpty(selectedList)) { + if (!isNullOrEmpty(selectedList)) { listId = selectedList; } newlyCreated = true; @@ -314,7 +314,7 @@ public class GoogleTaskSynchronizer { String localParent = parent > 0 ? googleTaskDao.getRemoteId(parent) : null; String previous = googleTaskDao.getPrevious( - listId, Strings.isNullOrEmpty(localParent) ? 0 : parent, gtasksMetadata.getOrder()); + listId, isNullOrEmpty(localParent) ? 0 : parent, gtasksMetadata.getOrder()); com.google.api.services.tasks.model.Task created; try { @@ -342,7 +342,7 @@ public class GoogleTaskSynchronizer { String previous = googleTaskDao.getPrevious( listId, - Strings.isNullOrEmpty(localParent) ? 0 : parent, + isNullOrEmpty(localParent) ? 0 : parent, gtasksMetadata.getOrder()); com.google.api.services.tasks.model.Task result = @@ -350,7 +350,7 @@ public class GoogleTaskSynchronizer { gtasksMetadata.setRemoteOrder(Long.parseLong(result.getPosition())); gtasksMetadata.setRemoteParent(result.getParent()); gtasksMetadata.setParent( - Strings.isNullOrEmpty(result.getParent()) + isNullOrEmpty(result.getParent()) ? 0 : googleTaskDao.getTask(result.getParent())); } catch (GoogleJsonResponseException e) { @@ -404,7 +404,7 @@ public class GoogleTaskSynchronizer { tasks.addAll(items); } nextPageToken = taskList.getNextPageToken(); - } while (!Strings.isNullOrEmpty(nextPageToken)); + } while (!isNullOrEmpty(nextPageToken)); Collections.sort(tasks, PARENTS_FIRST); @@ -442,7 +442,7 @@ public class GoogleTaskSynchronizer { googleTask.setRemoteOrder(Long.parseLong(gtask.getPosition())); googleTask.setRemoteParent(gtask.getParent()); googleTask.setParent( - Strings.isNullOrEmpty(gtask.getParent()) + isNullOrEmpty(gtask.getParent()) ? 0 : googleTaskDao.getTask(gtask.getParent())); googleTask.setRemoteId(gtask.getId()); @@ -472,9 +472,9 @@ public class GoogleTaskSynchronizer { } static String getTruncatedValue(@Nullable String currentValue, @Nullable String newValue, int maxLength) { - return Strings.isNullOrEmpty(newValue) + return isNullOrEmpty(newValue) || newValue.length() < maxLength - || Strings.isNullOrEmpty(currentValue) + || isNullOrEmpty(currentValue) || !currentValue.startsWith(newValue) ? newValue : currentValue; diff --git a/app/src/main/java/org/tasks/jobs/DriveUploader.java b/app/src/main/java/org/tasks/jobs/DriveUploader.java index 7fd564a0f..bd515519d 100644 --- a/app/src/main/java/org/tasks/jobs/DriveUploader.java +++ b/app/src/main/java/org/tasks/jobs/DriveUploader.java @@ -2,6 +2,7 @@ package org.tasks.jobs; import static com.google.common.collect.Iterables.skip; import static com.google.common.collect.Lists.newArrayList; +import static org.tasks.Strings.isNullOrEmpty; import android.content.Context; import android.net.Uri; @@ -10,7 +11,6 @@ import androidx.work.Data; import androidx.work.WorkerParameters; import com.google.api.client.googleapis.json.GoogleJsonResponseException; import com.google.api.services.drive.model.File; -import com.google.common.base.Strings; import java.io.IOException; import java.net.ConnectException; import java.net.SocketTimeoutException; @@ -95,7 +95,7 @@ public class DriveUploader extends InjectingWorker { private File getFolder() throws IOException { String folderId = preferences.getStringValue(R.string.p_google_drive_backup_folder); File file = null; - if (!Strings.isNullOrEmpty(folderId)) { + if (!isNullOrEmpty(folderId)) { try { file = drive.getFile(folderId); } catch (GoogleJsonResponseException e) { diff --git a/app/src/main/java/org/tasks/locale/Locale.java b/app/src/main/java/org/tasks/locale/Locale.java index 89475fe97..3e39a4998 100644 --- a/app/src/main/java/org/tasks/locale/Locale.java +++ b/app/src/main/java/org/tasks/locale/Locale.java @@ -1,5 +1,7 @@ package org.tasks.locale; +import static org.tasks.Strings.isNullOrEmpty; + import android.app.Dialog; import android.content.Context; import android.content.SharedPreferences; @@ -10,7 +12,6 @@ import android.view.View; import android.view.ViewParent; import androidx.annotation.Nullable; import androidx.preference.PreferenceManager; -import com.google.common.base.Strings; import java.io.Serializable; import java.text.NumberFormat; import java.text.ParseException; @@ -73,7 +74,7 @@ public class Locale implements Serializable { } private static java.util.Locale localeFromString(String locale) { - if (Strings.isNullOrEmpty(locale)) { + if (isNullOrEmpty(locale)) { return null; } diff --git a/app/src/main/java/org/tasks/locale/bundle/ListNotificationBundle.java b/app/src/main/java/org/tasks/locale/bundle/ListNotificationBundle.java index f15088d18..9d463c075 100755 --- a/app/src/main/java/org/tasks/locale/bundle/ListNotificationBundle.java +++ b/app/src/main/java/org/tasks/locale/bundle/ListNotificationBundle.java @@ -1,6 +1,6 @@ package org.tasks.locale.bundle; -import static com.google.common.base.Strings.isNullOrEmpty; +import static org.tasks.Strings.isNullOrEmpty; import android.os.Bundle; import org.tasks.BuildConfig; diff --git a/app/src/main/java/org/tasks/locale/receiver/TaskerTaskCreator.java b/app/src/main/java/org/tasks/locale/receiver/TaskerTaskCreator.java index 1f7882b52..55bfdd378 100644 --- a/app/src/main/java/org/tasks/locale/receiver/TaskerTaskCreator.java +++ b/app/src/main/java/org/tasks/locale/receiver/TaskerTaskCreator.java @@ -1,6 +1,6 @@ package org.tasks.locale.receiver; -import static com.google.common.base.Strings.isNullOrEmpty; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.time.DateTimeUtils.currentTimeMillis; import com.todoroo.astrid.dao.TaskDao; diff --git a/app/src/main/java/org/tasks/location/LocationPickerActivity.java b/app/src/main/java/org/tasks/location/LocationPickerActivity.java index 26d91a8cd..8b1011664 100644 --- a/app/src/main/java/org/tasks/location/LocationPickerActivity.java +++ b/app/src/main/java/org/tasks/location/LocationPickerActivity.java @@ -4,6 +4,7 @@ import static com.google.common.collect.Lists.newArrayList; import static com.google.common.collect.Lists.transform; import static com.todoroo.andlib.utility.AndroidUtilities.hideKeyboard; import static org.tasks.PermissionUtil.verifyPermissions; +import static org.tasks.Strings.isNullOrEmpty; import android.annotation.SuppressLint; import android.content.Intent; @@ -33,7 +34,6 @@ import butterknife.OnClick; import com.google.android.material.appbar.AppBarLayout; import com.google.android.material.appbar.AppBarLayout.Behavior; import com.google.android.material.appbar.CollapsingToolbarLayout; -import com.google.common.base.Strings; import com.mapbox.android.core.location.LocationEngineCallback; import com.mapbox.android.core.location.LocationEngineProvider; import com.mapbox.android.core.location.LocationEngineResult; @@ -361,7 +361,7 @@ public class LocationPickerActivity extends InjectingAppCompatActivity private void handleError(Event error) { String message = error.getIfUnhandled(); - if (!Strings.isNullOrEmpty(message)) { + if (!isNullOrEmpty(message)) { toaster.longToast(message); } } diff --git a/app/src/main/java/org/tasks/location/LocationPickerAdapter.java b/app/src/main/java/org/tasks/location/LocationPickerAdapter.java index 942ec5ca4..9dcee797a 100644 --- a/app/src/main/java/org/tasks/location/LocationPickerAdapter.java +++ b/app/src/main/java/org/tasks/location/LocationPickerAdapter.java @@ -1,5 +1,7 @@ package org.tasks.location; +import static org.tasks.Strings.isNullOrEmpty; + import android.content.Context; import android.graphics.drawable.Drawable; import android.view.LayoutInflater; @@ -11,7 +13,6 @@ import androidx.annotation.NonNull; import androidx.recyclerview.widget.DiffUtil.ItemCallback; import androidx.recyclerview.widget.ListAdapter; import androidx.recyclerview.widget.RecyclerView; -import com.google.common.base.Strings; import org.tasks.R; import org.tasks.billing.Inventory; import org.tasks.data.Place; @@ -112,7 +113,7 @@ public class LocationPickerAdapter extends ListAdapter CharSequence address = prediction.getAddress(); this.name.setText(name); if (address == null - || Strings.isNullOrEmpty(address.toString()) + || isNullOrEmpty(address.toString()) || address.toString().equals(name.toString())) { this.address.setVisibility(View.GONE); } else { diff --git a/app/src/main/java/org/tasks/location/PlaceSearchViewModel.java b/app/src/main/java/org/tasks/location/PlaceSearchViewModel.java index a2bce90d8..2a96fe56e 100644 --- a/app/src/main/java/org/tasks/location/PlaceSearchViewModel.java +++ b/app/src/main/java/org/tasks/location/PlaceSearchViewModel.java @@ -1,6 +1,7 @@ package org.tasks.location; import static com.todoroo.andlib.utility.AndroidUtilities.assertMainThread; +import static org.tasks.Strings.isNullOrEmpty; import android.os.Bundle; import androidx.annotation.Nullable; @@ -8,7 +9,6 @@ import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModel; -import com.google.common.base.Strings; import java.util.Collections; import java.util.List; import org.tasks.Event; @@ -47,7 +47,7 @@ public class PlaceSearchViewModel extends ViewModel { public void query(String query, @Nullable MapPosition bias) { assertMainThread(); - if (Strings.isNullOrEmpty(query)) { + if (isNullOrEmpty(query)) { searchResults.postValue(Collections.emptyList()); } else { searchProvider.search(query, bias, searchResults::setValue, this::setError); diff --git a/app/src/main/java/org/tasks/notifications/NotificationManager.java b/app/src/main/java/org/tasks/notifications/NotificationManager.java index 61f70296e..c213f74a2 100644 --- a/app/src/main/java/org/tasks/notifications/NotificationManager.java +++ b/app/src/main/java/org/tasks/notifications/NotificationManager.java @@ -14,6 +14,7 @@ import static com.todoroo.astrid.reminders.ReminderService.TYPE_GEOFENCE_ENTER; import static com.todoroo.astrid.reminders.ReminderService.TYPE_GEOFENCE_EXIT; import static java.util.Collections.emptyList; import static java.util.Collections.singletonList; +import static org.tasks.Strings.isNullOrEmpty; import android.annotation.SuppressLint; import android.app.PendingIntent; @@ -23,7 +24,6 @@ import android.text.TextUtils; import androidx.core.app.NotificationCompat; import androidx.core.app.NotificationManagerCompat; import com.google.common.base.Joiner; -import com.google.common.base.Strings; import com.todoroo.andlib.sql.Join; import com.todoroo.andlib.sql.QueryTemplate; import com.todoroo.andlib.utility.DateUtilities; @@ -392,7 +392,7 @@ public class NotificationManager { : R.string.location_departed, place.getDisplayName())); } - } else if (!Strings.isNullOrEmpty(taskDescription)) { + } else if (!isNullOrEmpty(taskDescription)) { builder .setContentText(taskDescription) .setStyle(new NotificationCompat.BigTextStyle().bigText(taskDescription)); diff --git a/app/src/main/java/org/tasks/preferences/DefaultFilterProvider.java b/app/src/main/java/org/tasks/preferences/DefaultFilterProvider.java index 64f6dd09a..86c5600c1 100644 --- a/app/src/main/java/org/tasks/preferences/DefaultFilterProvider.java +++ b/app/src/main/java/org/tasks/preferences/DefaultFilterProvider.java @@ -1,15 +1,14 @@ package org.tasks.preferences; -import static com.google.common.base.Strings.isNullOrEmpty; import static com.todoroo.astrid.core.BuiltInFilterExposer.getMyTasksFilter; import static com.todoroo.astrid.core.BuiltInFilterExposer.getRecentlyModifiedFilter; import static com.todoroo.astrid.core.BuiltInFilterExposer.getTodayFilter; import static com.todoroo.astrid.core.BuiltInFilterExposer.isRecentlyModifiedFilter; import static com.todoroo.astrid.core.BuiltInFilterExposer.isTodayFilter; +import static org.tasks.Strings.isNullOrEmpty; import android.content.Context; import android.content.res.Resources; -import com.google.common.base.Strings; import com.todoroo.astrid.api.CaldavFilter; import com.todoroo.astrid.api.CustomFilter; import com.todoroo.astrid.api.Filter; @@ -153,7 +152,7 @@ public class DefaultFilterProvider { private void setFilterPreference(Filter filter, int prefId) { String filterPreferenceValue = getFilterPreferenceValue(filter); - if (!Strings.isNullOrEmpty(filterPreferenceValue)) { + if (!isNullOrEmpty(filterPreferenceValue)) { preferences.setString(prefId, filterPreferenceValue); } } diff --git a/app/src/main/java/org/tasks/preferences/Preferences.java b/app/src/main/java/org/tasks/preferences/Preferences.java index f836a89fc..e22ecae99 100644 --- a/app/src/main/java/org/tasks/preferences/Preferences.java +++ b/app/src/main/java/org/tasks/preferences/Preferences.java @@ -6,6 +6,7 @@ import static com.google.common.collect.Iterables.filter; import static com.google.common.collect.Iterables.transform; import static com.google.common.collect.Sets.newHashSet; import static java.util.Collections.emptySet; +import static org.tasks.Strings.isNullOrEmpty; import android.content.ContentResolver; import android.content.Context; @@ -19,7 +20,6 @@ import android.text.TextUtils; import androidx.annotation.Nullable; import androidx.core.app.NotificationCompat; import androidx.documentfile.provider.DocumentFile; -import com.google.common.base.Strings; import com.todoroo.astrid.activity.BeastModePreferences; import com.todoroo.astrid.api.AstridApiConstants; import com.todoroo.astrid.core.SortHelper; @@ -264,7 +264,7 @@ public class Preferences { private Uri getUri(int key) { String uri = getStringValue(key); - return Strings.isNullOrEmpty(uri) ? null : Uri.parse(uri); + return isNullOrEmpty(uri) ? null : Uri.parse(uri); } public void setUri(int key, java.net.URI uri) { diff --git a/app/src/main/java/org/tasks/preferences/fragments/LookAndFeel.kt b/app/src/main/java/org/tasks/preferences/fragments/LookAndFeel.kt index 4d39abcaa..3e1425141 100644 --- a/app/src/main/java/org/tasks/preferences/fragments/LookAndFeel.kt +++ b/app/src/main/java/org/tasks/preferences/fragments/LookAndFeel.kt @@ -10,11 +10,11 @@ import android.os.Bundle import android.os.Handler import androidx.annotation.StringRes import androidx.preference.Preference -import com.google.common.base.Strings import com.todoroo.astrid.api.Filter import org.tasks.BuildConfig import org.tasks.LocalBroadcastManager import org.tasks.R +import org.tasks.Strings.isNullOrEmpty import org.tasks.activities.FilterSelectionActivity import org.tasks.billing.Inventory import org.tasks.billing.PurchaseActivity @@ -316,7 +316,7 @@ class LookAndFeel : InjectingPreferenceFragment() { val newValue: Locale = data!!.getSerializableExtra(LocalePickerDialog.EXTRA_LOCALE) as Locale val override: String? = newValue.languageOverride - if (Strings.isNullOrEmpty(override)) { + if (isNullOrEmpty(override)) { preferences.remove(R.string.p_language) } else { preferences.setString(R.string.p_language, override) diff --git a/app/src/main/java/org/tasks/preferences/fragments/Synchronization.kt b/app/src/main/java/org/tasks/preferences/fragments/Synchronization.kt index 9ea5fbf8d..782a40f7c 100644 --- a/app/src/main/java/org/tasks/preferences/fragments/Synchronization.kt +++ b/app/src/main/java/org/tasks/preferences/fragments/Synchronization.kt @@ -6,7 +6,6 @@ import android.os.Bundle import androidx.preference.Preference import androidx.preference.PreferenceCategory import androidx.preference.SwitchPreferenceCompat -import com.google.common.base.Strings import com.todoroo.andlib.utility.DateUtilities import com.todoroo.astrid.api.CaldavFilter import com.todoroo.astrid.api.Filter @@ -14,6 +13,7 @@ import com.todoroo.astrid.api.GtasksFilter import com.todoroo.astrid.gtasks.auth.GtasksLoginActivity import com.todoroo.astrid.service.TaskDeleter import org.tasks.R +import org.tasks.Strings.isNullOrEmpty import org.tasks.activities.RemoteListPicker import org.tasks.caldav.CaldavAccountSettingsActivity import org.tasks.data.CaldavAccount @@ -135,7 +135,7 @@ class Synchronization : InjectingPreferenceFragment() { val preference = Preference(context) preference.title = account val error = googleTaskAccount.error - if (Strings.isNullOrEmpty(error)) { + if (isNullOrEmpty(error)) { preference.setSummary(R.string.gtasks_GPr_header) } else { preference.summary = error @@ -173,7 +173,7 @@ class Synchronization : InjectingPreferenceFragment() { val preference = Preference(context) preference.title = account.name val error = account.error - if (Strings.isNullOrEmpty(error)) { + if (isNullOrEmpty(error)) { preference.setSummary( if (account.isCaldavAccount) R.string.caldav else R.string.etesync ) diff --git a/app/src/main/java/org/tasks/repeats/BasicRecurrenceDialog.java b/app/src/main/java/org/tasks/repeats/BasicRecurrenceDialog.java index 082eab7a5..d4f96116a 100644 --- a/app/src/main/java/org/tasks/repeats/BasicRecurrenceDialog.java +++ b/app/src/main/java/org/tasks/repeats/BasicRecurrenceDialog.java @@ -7,6 +7,7 @@ import static com.google.ical.values.Frequency.MINUTELY; import static com.google.ical.values.Frequency.MONTHLY; import static com.google.ical.values.Frequency.WEEKLY; import static com.google.ical.values.Frequency.YEARLY; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.repeats.CustomRecurrenceDialog.newCustomRecurrenceDialog; import static org.tasks.time.DateTimeUtils.currentTimeMillis; @@ -15,7 +16,6 @@ import android.content.Context; import android.os.Bundle; import androidx.annotation.NonNull; import androidx.annotation.Nullable; -import com.google.common.base.Strings; import com.google.ical.values.Frequency; import com.google.ical.values.RRule; import com.todoroo.astrid.repeats.RepeatControlSet; @@ -60,7 +60,7 @@ public class BasicRecurrenceDialog extends InjectingDialogFragment { String rule = arguments.getString(EXTRA_RRULE); RRule parsed = null; try { - if (!Strings.isNullOrEmpty(rule)) { + if (!isNullOrEmpty(rule)) { parsed = new RRule(rule); } } catch (Exception e) { diff --git a/app/src/main/java/org/tasks/repeats/CustomRecurrenceDialog.java b/app/src/main/java/org/tasks/repeats/CustomRecurrenceDialog.java index 6022f9c75..475dd666c 100644 --- a/app/src/main/java/org/tasks/repeats/CustomRecurrenceDialog.java +++ b/app/src/main/java/org/tasks/repeats/CustomRecurrenceDialog.java @@ -8,6 +8,7 @@ import static com.google.ical.values.Frequency.MONTHLY; import static com.google.ical.values.Frequency.WEEKLY; import static com.google.ical.values.Frequency.YEARLY; import static java.util.Arrays.asList; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.dialogs.MyDatePickerDialog.newDatePicker; import static org.tasks.time.DateTimeUtils.currentTimeMillis; @@ -42,7 +43,6 @@ import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnItemSelected; import butterknife.OnTextChanged; -import com.google.common.base.Strings; import com.google.ical.values.Frequency; import com.google.ical.values.RRule; import com.google.ical.values.Weekday; @@ -168,7 +168,7 @@ public class CustomRecurrenceDialog extends InjectingDialogFragment { ? arguments.getString(EXTRA_RRULE) : savedInstanceState.getString(EXTRA_RRULE); try { - if (!Strings.isNullOrEmpty(rule)) { + if (!isNullOrEmpty(rule)) { rrule = new RRule(rule); } } catch (Exception e) { diff --git a/app/src/main/java/org/tasks/security/KeyStoreEncryption.java b/app/src/main/java/org/tasks/security/KeyStoreEncryption.java index 8948db1ad..8051500dc 100644 --- a/app/src/main/java/org/tasks/security/KeyStoreEncryption.java +++ b/app/src/main/java/org/tasks/security/KeyStoreEncryption.java @@ -1,12 +1,11 @@ package org.tasks.security; +import static org.tasks.Strings.isNullOrEmpty; + import android.annotation.SuppressLint; -import android.os.Build.VERSION_CODES; import android.security.keystore.KeyGenParameterSpec; import android.security.keystore.KeyProperties; import android.util.Base64; -import androidx.annotation.RequiresApi; -import com.google.common.base.Strings; import java.io.IOException; import java.nio.charset.Charset; import java.nio.charset.StandardCharsets; @@ -70,7 +69,7 @@ public class KeyStoreEncryption { } public String decrypt(String text) { - if (Strings.isNullOrEmpty(text)) { + if (isNullOrEmpty(text)) { return null; } diff --git a/app/src/main/java/org/tasks/tags/TagPickerActivity.java b/app/src/main/java/org/tasks/tags/TagPickerActivity.java index 4c193ba21..0e00aeead 100644 --- a/app/src/main/java/org/tasks/tags/TagPickerActivity.java +++ b/app/src/main/java/org/tasks/tags/TagPickerActivity.java @@ -1,5 +1,7 @@ package org.tasks.tags; +import static org.tasks.Strings.isNullOrEmpty; + import android.content.Intent; import android.os.Bundle; import android.widget.EditText; @@ -10,7 +12,6 @@ import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.ButterKnife; import butterknife.OnTextChanged; -import com.google.common.base.Strings; import java.util.ArrayList; import javax.inject.Inject; import org.tasks.R; @@ -98,7 +99,7 @@ public class TagPickerActivity extends ThemedInjectingAppCompatActivity { @Override public void onBackPressed() { - if (Strings.isNullOrEmpty(viewModel.getText())) { + if (isNullOrEmpty(viewModel.getText())) { Intent data = new Intent(); data.putExtra(EXTRA_TASKS, taskIds); data.putParcelableArrayListExtra(EXTRA_PARTIALLY_SELECTED, viewModel.getPartiallySelected()); diff --git a/app/src/main/java/org/tasks/tags/TagPickerViewModel.java b/app/src/main/java/org/tasks/tags/TagPickerViewModel.java index 30b7a04aa..468895a46 100644 --- a/app/src/main/java/org/tasks/tags/TagPickerViewModel.java +++ b/app/src/main/java/org/tasks/tags/TagPickerViewModel.java @@ -2,13 +2,13 @@ package org.tasks.tags; import static com.google.common.collect.Iterables.any; import static com.google.common.collect.Lists.newArrayList; +import static org.tasks.Strings.isNullOrEmpty; import androidx.annotation.Nullable; import androidx.lifecycle.LifecycleOwner; import androidx.lifecycle.MutableLiveData; import androidx.lifecycle.Observer; import androidx.lifecycle.ViewModel; -import com.google.common.base.Strings; import io.reactivex.Single; import io.reactivex.android.schedulers.AndroidSchedulers; import io.reactivex.disposables.CompositeDisposable; @@ -69,7 +69,7 @@ public class TagPickerViewModel extends ViewModel { } private void onUpdate(List results) { - if (!Strings.isNullOrEmpty(text) && !any(results, t -> text.equalsIgnoreCase(t.getName()))) { + if (!isNullOrEmpty(text) && !any(results, t -> text.equalsIgnoreCase(t.getName()))) { results.add(0, new TagData(text)); } tags.setValue(results); diff --git a/app/src/main/java/org/tasks/ui/CalendarControlSet.java b/app/src/main/java/org/tasks/ui/CalendarControlSet.java index be23519a4..ad711eb9e 100644 --- a/app/src/main/java/org/tasks/ui/CalendarControlSet.java +++ b/app/src/main/java/org/tasks/ui/CalendarControlSet.java @@ -1,7 +1,7 @@ package org.tasks.ui; -import static com.google.common.base.Strings.isNullOrEmpty; import static org.tasks.PermissionUtil.verifyPermissions; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.calendars.CalendarPicker.newCalendarPicker; import android.app.Activity; @@ -22,7 +22,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import butterknife.BindView; import butterknife.OnClick; -import com.google.common.base.Strings; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.gcal.GCalHelper; import javax.inject.Inject; @@ -84,7 +83,7 @@ public class CalendarControlSet extends TaskEditControlFragment { calendarId = savedInstanceState.getString(EXTRA_ID); } else if (task.isNew() && canAccessCalendars) { calendarId = preferences.getDefaultCalendar(); - if (!Strings.isNullOrEmpty(calendarId)) { + if (!isNullOrEmpty(calendarId)) { try { AndroidCalendar defaultCalendar = calendarProvider.getCalendar(calendarId); if (defaultCalendar == null) { @@ -219,7 +218,7 @@ public class CalendarControlSet extends TaskEditControlFragment { @Override protected void onRowClick() { - if (Strings.isNullOrEmpty(eventUri)) { + if (isNullOrEmpty(eventUri)) { newCalendarPicker(this, REQUEST_CODE_PICK_CALENDAR, getCalendarName()) .show(getParentFragmentManager(), FRAG_TAG_CALENDAR_PICKER); } else { @@ -302,7 +301,7 @@ public class CalendarControlSet extends TaskEditControlFragment { } private void refreshDisplayView() { - if (!Strings.isNullOrEmpty(eventUri)) { + if (!isNullOrEmpty(eventUri)) { calendar.setText(R.string.gcal_TEA_showCalendar_label); cancelButton.setVisibility(View.VISIBLE); } else if (calendarId != null) { diff --git a/app/src/main/java/org/tasks/ui/ChipProvider.java b/app/src/main/java/org/tasks/ui/ChipProvider.java index 1245dabff..dea77eab4 100644 --- a/app/src/main/java/org/tasks/ui/ChipProvider.java +++ b/app/src/main/java/org/tasks/ui/ChipProvider.java @@ -5,6 +5,7 @@ import static com.google.common.collect.Collections2.transform; import static com.google.common.collect.Iterables.removeIf; import static com.google.common.collect.Sets.newHashSet; import static com.todoroo.andlib.utility.AndroidUtilities.assertMainThread; +import static org.tasks.Strings.isNullOrEmpty; import android.app.Activity; import android.content.res.ColorStateList; @@ -14,7 +15,6 @@ import androidx.annotation.Nullable; import androidx.core.content.res.ResourcesCompat; import com.google.android.material.chip.Chip; import com.google.common.base.Predicates; -import com.google.common.base.Strings; import com.google.common.collect.Ordering; import com.todoroo.astrid.api.CaldavFilter; import com.todoroo.astrid.api.Filter; @@ -117,18 +117,18 @@ public class ChipProvider { chips.add(newChip(new PlaceFilter(location.getPlace()), R.drawable.ic_outline_place_24px)); } if (!isSubtask) { - if (!Strings.isNullOrEmpty(task.getGoogleTaskList()) && !(filter instanceof GtasksFilter)) { + if (!isNullOrEmpty(task.getGoogleTaskList()) && !(filter instanceof GtasksFilter)) { chips.add( newChip( lists.getGoogleTaskList(task.getGoogleTaskList()), R.drawable.ic_outline_cloud_24px)); - } else if (!Strings.isNullOrEmpty(task.getCaldav()) && !(filter instanceof CaldavFilter)) { + } else if (!isNullOrEmpty(task.getCaldav()) && !(filter instanceof CaldavFilter)) { chips.add( newChip(lists.getCaldavList(task.getCaldav()), R.drawable.ic_outline_cloud_24px)); } } String tagString = task.getTagsString(); - if (!Strings.isNullOrEmpty(tagString)) { + if (!isNullOrEmpty(tagString)) { Set tags = newHashSet(tagString.split(",")); if (filter instanceof TagFilter) { tags.remove(((TagFilter) filter).getUuid()); diff --git a/app/src/main/java/org/tasks/ui/DescriptionControlSet.java b/app/src/main/java/org/tasks/ui/DescriptionControlSet.java index 747346298..5f1686c36 100644 --- a/app/src/main/java/org/tasks/ui/DescriptionControlSet.java +++ b/app/src/main/java/org/tasks/ui/DescriptionControlSet.java @@ -1,6 +1,6 @@ package org.tasks.ui; -import static com.google.common.base.Strings.isNullOrEmpty; +import static org.tasks.Strings.isNullOrEmpty; import android.os.Bundle; import android.view.LayoutInflater; diff --git a/app/src/main/java/org/tasks/ui/LocationControlSet.java b/app/src/main/java/org/tasks/ui/LocationControlSet.java index 9ce58cc04..e3b226509 100644 --- a/app/src/main/java/org/tasks/ui/LocationControlSet.java +++ b/app/src/main/java/org/tasks/ui/LocationControlSet.java @@ -4,6 +4,7 @@ import static com.google.common.collect.Lists.newArrayList; import static com.google.common.collect.Lists.transform; import static com.todoroo.astrid.data.SyncFlags.FORCE_CALDAV_SYNC; import static org.tasks.PermissionUtil.verifyPermissions; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.dialogs.GeofenceDialog.newGeofenceDialog; import static org.tasks.location.LocationPickerActivity.EXTRA_PLACE; @@ -25,7 +26,6 @@ import androidx.annotation.Nullable; import androidx.core.util.Pair; import butterknife.BindView; import butterknife.OnClick; -import com.google.common.base.Strings; import com.todoroo.andlib.utility.DateUtilities; import com.todoroo.astrid.data.Task; import java.util.ArrayList; @@ -130,7 +130,7 @@ public class LocationControlSet extends TaskEditControlFragment { : R.drawable.ic_outline_notifications_off_24px); String name = this.location.getDisplayName(); String address = this.location.getDisplayAddress(); - if (!Strings.isNullOrEmpty(address) && !address.equals(name)) { + if (!isNullOrEmpty(address) && !address.equals(name)) { locationAddress.setText(address); locationAddress.setVisibility(View.VISIBLE); } else { @@ -156,10 +156,10 @@ public class LocationControlSet extends TaskEditControlFragment { } else { List> options = new ArrayList<>(); options.add(Pair.create(R.string.open_map, () -> location.open(getActivity()))); - if (!Strings.isNullOrEmpty(location.getPhone())) { + if (!isNullOrEmpty(location.getPhone())) { options.add(Pair.create(R.string.action_call, this::call)); } - if (!Strings.isNullOrEmpty(location.getUrl())) { + if (!isNullOrEmpty(location.getUrl())) { options.add(Pair.create(R.string.visit_website, this::openWebsite)); } options.add(Pair.create(R.string.choose_new_location, this::chooseLocation)); diff --git a/app/src/main/java/org/tasks/ui/SubtaskControlSet.java b/app/src/main/java/org/tasks/ui/SubtaskControlSet.java index ab18a5bf0..ad8f90bec 100644 --- a/app/src/main/java/org/tasks/ui/SubtaskControlSet.java +++ b/app/src/main/java/org/tasks/ui/SubtaskControlSet.java @@ -1,6 +1,7 @@ package org.tasks.ui; import static com.todoroo.andlib.utility.DateUtilities.now; +import static org.tasks.Strings.isNullOrEmpty; import android.app.Activity; import android.content.BroadcastReceiver; @@ -23,7 +24,6 @@ import androidx.recyclerview.widget.LinearLayoutManager; import androidx.recyclerview.widget.RecyclerView; import butterknife.BindView; import butterknife.OnClick; -import com.google.common.base.Strings; import com.todoroo.andlib.sql.Criterion; import com.todoroo.andlib.sql.Join; import com.todoroo.andlib.sql.QueryTemplate; @@ -158,7 +158,7 @@ public class SubtaskControlSet extends TaskEditControlFragment implements Callba @Override public void apply(Task task) { for (Task subtask: getNewSubtasks()) { - if (Strings.isNullOrEmpty(subtask.getTitle())) { + if (isNullOrEmpty(subtask.getTitle())) { continue; } subtask.setCompletionDate(task.getCompletionDate()); diff --git a/app/src/main/java/org/tasks/ui/Toaster.java b/app/src/main/java/org/tasks/ui/Toaster.java index 5df9e9ccc..fb2a0a13a 100644 --- a/app/src/main/java/org/tasks/ui/Toaster.java +++ b/app/src/main/java/org/tasks/ui/Toaster.java @@ -1,11 +1,11 @@ package org.tasks.ui; import static android.widget.Toast.LENGTH_LONG; +import static org.tasks.Strings.isNullOrEmpty; import android.content.Context; import android.widget.Toast; import androidx.annotation.StringRes; -import com.google.common.base.Strings; import javax.inject.Inject; import org.tasks.injection.ForActivity; import org.tasks.locale.Locale; @@ -30,7 +30,7 @@ public class Toaster { } public void longToast(String text) { - if (!Strings.isNullOrEmpty(text)) { + if (!isNullOrEmpty(text)) { Toast.makeText(context, text, LENGTH_LONG).show(); } } diff --git a/app/src/main/java/org/tasks/voice/VoiceCommandActivity.java b/app/src/main/java/org/tasks/voice/VoiceCommandActivity.java index 1d7734205..eec66c2ee 100644 --- a/app/src/main/java/org/tasks/voice/VoiceCommandActivity.java +++ b/app/src/main/java/org/tasks/voice/VoiceCommandActivity.java @@ -1,10 +1,11 @@ package org.tasks.voice; +import static org.tasks.Strings.isNullOrEmpty; + import android.content.Context; import android.content.Intent; import android.os.Bundle; import android.widget.Toast; -import com.google.common.base.Strings; import com.todoroo.astrid.service.TaskCreator; import javax.inject.Inject; import org.tasks.R; @@ -25,7 +26,7 @@ public class VoiceCommandActivity extends InjectingAppCompatActivity { if ("com.google.android.gm.action.AUTO_SEND".equals(intent.getAction())) { final String text = intent.getStringExtra(Intent.EXTRA_TEXT); - if (!Strings.isNullOrEmpty(text)) { + if (!isNullOrEmpty(text)) { taskCreator.basicQuickAddTask(text); Toast.makeText(context, getString(R.string.voice_command_added_task), Toast.LENGTH_LONG) .show(); diff --git a/app/src/main/java/org/tasks/widget/ShortcutConfigActivity.java b/app/src/main/java/org/tasks/widget/ShortcutConfigActivity.java index c4e615aba..8da210766 100644 --- a/app/src/main/java/org/tasks/widget/ShortcutConfigActivity.java +++ b/app/src/main/java/org/tasks/widget/ShortcutConfigActivity.java @@ -1,5 +1,6 @@ package org.tasks.widget; +import static org.tasks.Strings.isNullOrEmpty; import static org.tasks.themes.ThemeColor.getLauncherColor; import android.app.Activity; @@ -16,7 +17,6 @@ import butterknife.OnClick; import butterknife.OnFocusChange; import com.google.android.material.textfield.TextInputEditText; import com.google.android.material.textfield.TextInputLayout; -import com.google.common.base.Strings; import com.todoroo.astrid.api.Filter; import javax.inject.Inject; import org.tasks.R; @@ -130,7 +130,7 @@ public class ShortcutConfigActivity extends ThemedInjectingAppCompatActivity } private void updateFilterAndTheme() { - if (Strings.isNullOrEmpty(getShortcutName()) && selectedFilter != null) { + if (isNullOrEmpty(getShortcutName()) && selectedFilter != null) { shortcutName.setText(selectedFilter.listingTitle); } if (selectedFilter != null) { diff --git a/app/src/main/java/org/tasks/widget/WidgetClickActivity.java b/app/src/main/java/org/tasks/widget/WidgetClickActivity.java index 3ad82a101..b9be66eca 100644 --- a/app/src/main/java/org/tasks/widget/WidgetClickActivity.java +++ b/app/src/main/java/org/tasks/widget/WidgetClickActivity.java @@ -1,9 +1,10 @@ package org.tasks.widget; +import static org.tasks.Strings.isNullOrEmpty; + import android.content.Intent; import android.os.Bundle; import androidx.fragment.app.FragmentManager; -import com.google.common.base.Strings; import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.data.Task; import com.todoroo.astrid.service.TaskCompleter; @@ -41,7 +42,7 @@ public class WidgetClickActivity extends InjectingAppCompatActivity String action = intent.getAction(); - if (Strings.isNullOrEmpty(action)) { + if (isNullOrEmpty(action)) { return; }