Fix some more inspections

pull/996/head
Alex Baker 6 years ago
parent 1e6ed2a2fa
commit 85f959bd72

@ -29,7 +29,7 @@ class BuildSetup {
this.preferences = preferences; this.preferences = preferences;
} }
public boolean setup() { public void setup() {
Timber.plant(new Timber.DebugTree()); Timber.plant(new Timber.DebugTree());
Application application = (Application) context.getApplicationContext(); Application application = (Application) context.getApplicationContext();
SoLoader.init(application, false); SoLoader.init(application, false);
@ -62,6 +62,5 @@ class BuildSetup {
.penaltyLog() .penaltyLog()
.build()); .build());
} }
return true;
} }
} }

@ -8,7 +8,6 @@ package com.todoroo.andlib.sql;
import static com.todoroo.andlib.sql.SqlConstants.AND; import static com.todoroo.andlib.sql.SqlConstants.AND;
import static com.todoroo.andlib.sql.SqlConstants.LEFT_PARENTHESIS; import static com.todoroo.andlib.sql.SqlConstants.LEFT_PARENTHESIS;
import static com.todoroo.andlib.sql.SqlConstants.NOT;
import static com.todoroo.andlib.sql.SqlConstants.OR; import static com.todoroo.andlib.sql.SqlConstants.OR;
import static com.todoroo.andlib.sql.SqlConstants.RIGHT_PARENTHESIS; import static com.todoroo.andlib.sql.SqlConstants.RIGHT_PARENTHESIS;
import static com.todoroo.andlib.sql.SqlConstants.SPACE; import static com.todoroo.andlib.sql.SqlConstants.SPACE;
@ -47,17 +46,6 @@ public abstract class Criterion {
}; };
} }
public static Criterion not(final Criterion criterion) {
return new Criterion(Operator.not) {
@Override
protected void populate(StringBuilder sb) {
sb.append(NOT).append(SPACE);
criterion.populate(sb);
}
};
}
protected abstract void populate(StringBuilder sb); protected abstract void populate(StringBuilder sb);
@Override @Override

@ -50,23 +50,6 @@ public class Field extends DBObject<Field> {
return UnaryCriterion.like(this, value); return UnaryCriterion.like(this, value);
} }
public Criterion in(final Query query) {
final Field field = this;
return new Criterion(Operator.in) {
@Override
protected void populate(StringBuilder sb) {
sb.append(field)
.append(SPACE)
.append(Operator.in)
.append(SPACE)
.append(LEFT_PARENTHESIS)
.append(query)
.append(RIGHT_PARENTHESIS);
}
};
}
public <T> Criterion in(List<T> entries) { public <T> Criterion in(List<T> entries) {
final Field field = this; final Field field = this;
return new Criterion(Operator.in) { return new Criterion(Operator.in) {

@ -30,8 +30,6 @@ import org.tasks.filters.NavigationDrawerSubheader;
import org.tasks.locale.Locale; import org.tasks.locale.Locale;
import org.tasks.preferences.Preferences; import org.tasks.preferences.Preferences;
import org.tasks.themes.ColorProvider; import org.tasks.themes.ColorProvider;
import org.tasks.themes.Theme;
import org.tasks.themes.ThemeAccent;
public class FilterAdapter extends BaseAdapter { public class FilterAdapter extends BaseAdapter {
@ -39,7 +37,6 @@ public class FilterAdapter extends BaseAdapter {
private static final String TOKEN_SELECTED = "token_selected"; private static final String TOKEN_SELECTED = "token_selected";
private static final int VIEW_TYPE_COUNT = FilterListItem.Type.values().length; private static final int VIEW_TYPE_COUNT = FilterListItem.Type.values().length;
private final Activity activity; private final Activity activity;
private final ThemeAccent accent;
private final Locale locale; private final Locale locale;
private final Inventory inventory; private final Inventory inventory;
private final ColorProvider colorProvider; private final ColorProvider colorProvider;
@ -47,14 +44,12 @@ public class FilterAdapter extends BaseAdapter {
private final GoogleTaskDao googleTaskDao; private final GoogleTaskDao googleTaskDao;
private final CaldavDao caldavDao; private final CaldavDao caldavDao;
private final LocalBroadcastManager localBroadcastManager; private final LocalBroadcastManager localBroadcastManager;
private final LayoutInflater inflater;
private Filter selected = null; private Filter selected = null;
private List<FilterListItem> items = new ArrayList<>(); private List<FilterListItem> items = new ArrayList<>();
@Inject @Inject
public FilterAdapter( public FilterAdapter(
Activity activity, Activity activity,
Theme theme,
Locale locale, Locale locale,
Inventory inventory, Inventory inventory,
ColorProvider colorProvider, ColorProvider colorProvider,
@ -63,7 +58,6 @@ public class FilterAdapter extends BaseAdapter {
CaldavDao caldavDao, CaldavDao caldavDao,
LocalBroadcastManager localBroadcastManager) { LocalBroadcastManager localBroadcastManager) {
this.activity = activity; this.activity = activity;
this.accent = theme.getThemeAccent();
this.locale = locale; this.locale = locale;
this.inventory = inventory; this.inventory = inventory;
this.colorProvider = colorProvider; this.colorProvider = colorProvider;
@ -71,7 +65,6 @@ public class FilterAdapter extends BaseAdapter {
this.googleTaskDao = googleTaskDao; this.googleTaskDao = googleTaskDao;
this.caldavDao = caldavDao; this.caldavDao = caldavDao;
this.localBroadcastManager = localBroadcastManager; this.localBroadcastManager = localBroadcastManager;
this.inflater = theme.getLayoutInflater(activity);
} }
public void save(Bundle outState) { public void save(Bundle outState) {
@ -111,13 +104,14 @@ public class FilterAdapter extends BaseAdapter {
/** Create or reuse a view */ /** Create or reuse a view */
private View newView(View convertView, ViewGroup parent, FilterListItem.Type viewType) { private View newView(View convertView, ViewGroup parent, FilterListItem.Type viewType) {
if (convertView == null) { if (convertView == null) {
convertView = inflater.inflate(viewType.layout, parent, false); convertView =
LayoutInflater.from(parent.getContext()).inflate(viewType.layout, parent, false);
ViewHolder viewHolder; ViewHolder viewHolder;
switch (viewType) { switch (viewType) {
case ITEM: case ITEM:
viewHolder = viewHolder =
new FilterViewHolder( new FilterViewHolder(
convertView, accent, false, locale, activity, inventory, colorProvider, null); convertView, false, locale, activity, inventory, colorProvider, null);
break; break;
case SEPARATOR: case SEPARATOR:
viewHolder = new FilterViewHolder(convertView); viewHolder = new FilterViewHolder(convertView);

@ -22,7 +22,6 @@ import org.tasks.locale.Locale;
import org.tasks.themes.ColorProvider; import org.tasks.themes.ColorProvider;
import org.tasks.themes.CustomIcons; import org.tasks.themes.CustomIcons;
import org.tasks.themes.DrawableUtil; import org.tasks.themes.DrawableUtil;
import org.tasks.themes.ThemeAccent;
import org.tasks.themes.ThemeColor; import org.tasks.themes.ThemeColor;
public class FilterViewHolder extends RecyclerView.ViewHolder { public class FilterViewHolder extends RecyclerView.ViewHolder {
@ -51,7 +50,6 @@ public class FilterViewHolder extends RecyclerView.ViewHolder {
FilterViewHolder( FilterViewHolder(
@NonNull View itemView, @NonNull View itemView,
ThemeAccent accent,
boolean navigationDrawer, boolean navigationDrawer,
Locale locale, Locale locale,
Activity activity, Activity activity,

@ -35,14 +35,11 @@ import org.tasks.filters.NavigationDrawerSubheader;
import org.tasks.locale.Locale; import org.tasks.locale.Locale;
import org.tasks.preferences.Preferences; import org.tasks.preferences.Preferences;
import org.tasks.themes.ColorProvider; import org.tasks.themes.ColorProvider;
import org.tasks.themes.Theme;
import org.tasks.themes.ThemeAccent;
public class NavigationDrawerAdapter extends RecyclerView.Adapter<ViewHolder> { public class NavigationDrawerAdapter extends RecyclerView.Adapter<ViewHolder> {
private static final String TOKEN_SELECTED = "token_selected"; private static final String TOKEN_SELECTED = "token_selected";
private final Activity activity; private final Activity activity;
private final ThemeAccent accent;
private final Locale locale; private final Locale locale;
private final Inventory inventory; private final Inventory inventory;
private final ColorProvider colorProvider; private final ColorProvider colorProvider;
@ -50,7 +47,6 @@ public class NavigationDrawerAdapter extends RecyclerView.Adapter<ViewHolder> {
private final GoogleTaskDao googleTaskDao; private final GoogleTaskDao googleTaskDao;
private final CaldavDao caldavDao; private final CaldavDao caldavDao;
private final LocalBroadcastManager localBroadcastManager; private final LocalBroadcastManager localBroadcastManager;
private final LayoutInflater inflater;
private OnClick onClick; private OnClick onClick;
private Filter selected = null; private Filter selected = null;
@ -59,7 +55,6 @@ public class NavigationDrawerAdapter extends RecyclerView.Adapter<ViewHolder> {
@Inject @Inject
public NavigationDrawerAdapter( public NavigationDrawerAdapter(
Activity activity, Activity activity,
Theme theme,
Locale locale, Locale locale,
Inventory inventory, Inventory inventory,
ColorProvider colorProvider, ColorProvider colorProvider,
@ -68,7 +63,6 @@ public class NavigationDrawerAdapter extends RecyclerView.Adapter<ViewHolder> {
CaldavDao caldavDao, CaldavDao caldavDao,
LocalBroadcastManager localBroadcastManager) { LocalBroadcastManager localBroadcastManager) {
this.activity = activity; this.activity = activity;
this.accent = theme.getThemeAccent();
this.locale = locale; this.locale = locale;
this.inventory = inventory; this.inventory = inventory;
this.colorProvider = colorProvider; this.colorProvider = colorProvider;
@ -76,7 +70,6 @@ public class NavigationDrawerAdapter extends RecyclerView.Adapter<ViewHolder> {
this.googleTaskDao = googleTaskDao; this.googleTaskDao = googleTaskDao;
this.caldavDao = caldavDao; this.caldavDao = caldavDao;
this.localBroadcastManager = localBroadcastManager; this.localBroadcastManager = localBroadcastManager;
this.inflater = theme.getLayoutInflater(activity);
differ = new AsyncListDiffer<>(this, new DiffCallback()); differ = new AsyncListDiffer<>(this, new DiffCallback());
} }
@ -112,10 +105,10 @@ public class NavigationDrawerAdapter extends RecyclerView.Adapter<ViewHolder> {
@Override @Override
public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) { public ViewHolder onCreateViewHolder(@NonNull ViewGroup parent, int viewType) {
Type type = Type.values()[viewType]; Type type = Type.values()[viewType];
View view = inflater.inflate(type.layout, parent, false); View view = LayoutInflater.from(parent.getContext()).inflate(type.layout, parent, false);
if (type == ITEM) { if (type == ITEM) {
return new FilterViewHolder( return new FilterViewHolder(
view, accent, true, locale, activity, inventory, colorProvider, this::onClickFilter); view, true, locale, activity, inventory, colorProvider, this::onClickFilter);
} else if (type == SUBHEADER) { } else if (type == SUBHEADER) {
return new SubheaderViewHolder( return new SubheaderViewHolder(
view, activity, preferences, googleTaskDao, caldavDao, localBroadcastManager); view, activity, preferences, googleTaskDao, caldavDao, localBroadcastManager);

@ -40,10 +40,6 @@ public class CustomFilter extends Filter {
readFromParcel(parcel); readFromParcel(parcel);
} }
public void setId(long id) {
this.id = id;
}
public long getId() { public long getId() {
return id; return id;
} }
@ -52,10 +48,6 @@ public class CustomFilter extends Filter {
return criterion; return criterion;
} }
public void setCriterion(String criterion) {
this.criterion = criterion;
}
/** {@inheritDoc} */ /** {@inheritDoc} */
@Override @Override
public void writeToParcel(Parcel dest, int flags) { public void writeToParcel(Parcel dest, int flags) {

@ -3,7 +3,7 @@ package com.todoroo.astrid.core;
import androidx.annotation.NonNull; import androidx.annotation.NonNull;
import androidx.recyclerview.widget.DiffUtil; import androidx.recyclerview.widget.DiffUtil;
public class CriterionDiffCallback extends DiffUtil.ItemCallback<CriterionInstance> { class CriterionDiffCallback extends DiffUtil.ItemCallback<CriterionInstance> {
@Override @Override
public boolean areItemsTheSame( public boolean areItemsTheSame(

@ -22,7 +22,7 @@ class CustomFilterItemTouchHelper(
super.onSelectedChanged(viewHolder, actionState) super.onSelectedChanged(viewHolder, actionState)
if (actionState == ItemTouchHelper.ACTION_STATE_DRAG) { if (actionState == ItemTouchHelper.ACTION_STATE_DRAG) {
(viewHolder as CriterionViewHolder).setMoving(true); (viewHolder as CriterionViewHolder).setMoving(true)
} }
} }
@ -32,7 +32,7 @@ class CustomFilterItemTouchHelper(
if (toPosition == 0) { if (toPosition == 0) {
return false return false
} }
onMove.call(src.adapterPosition, toPosition); onMove.call(src.adapterPosition, toPosition)
return true return true
} }
@ -54,7 +54,7 @@ class CustomFilterItemTouchHelper(
} }
background.draw(c) background.draw(c)
super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive); super.onChildDraw(c, recyclerView, viewHolder, dX, dY, actionState, isCurrentlyActive)
} }
override fun clearView(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder) { override fun clearView(recyclerView: RecyclerView, viewHolder: RecyclerView.ViewHolder) {

@ -47,6 +47,7 @@ import android.os.Bundle;
import android.util.Log; import android.util.Log;
@SuppressLint("LogNotTimber") @SuppressLint("LogNotTimber")
@SuppressWarnings("JavadocReference")
public class TaskerPlugin { public class TaskerPlugin {
/** @see Setting#hostSupportsOnFireVariableReplacement(Bundle) */ /** @see Setting#hostSupportsOnFireVariableReplacement(Bundle) */

@ -50,10 +50,12 @@ public class Tasks extends InjectingApplication implements Configuration.Provide
public void onCreate() { public void onCreate() {
super.onCreate(); super.onCreate();
if (!buildSetup.setup() || ProcessPhoenix.isPhoenixProcess(this)) { if (ProcessPhoenix.isPhoenixProcess(this)) {
return; return;
} }
buildSetup.setup();
upgrade(); upgrade();
AndroidThreeTen.init(this); AndroidThreeTen.init(this);

@ -71,7 +71,7 @@ public class FilterSettingsActivity extends BaseListSettingsActivity {
@Inject Locale locale; @Inject Locale locale;
@Inject Database database; @Inject Database database;
@Inject FilterCriteriaProvider filterCriteriaProvider; @Inject FilterCriteriaProvider filterCriteriaProvider;
List<CriterionInstance> criteria; private List<CriterionInstance> criteria;
@BindView(R.id.name) @BindView(R.id.name)
TextInputEditText name; TextInputEditText name;
@ -216,7 +216,7 @@ public class FilterSettingsActivity extends BaseListSettingsActivity {
} }
/** Show options menu for the given criterioninstance */ /** Show options menu for the given criterioninstance */
public void showOptionsFor(final CriterionInstance item, final Runnable onComplete) { private void showOptionsFor(final CriterionInstance item, final Runnable onComplete) {
AlertDialogBuilder dialog = dialogBuilder.newDialog(item.criterion.name); AlertDialogBuilder dialog = dialogBuilder.newDialog(item.criterion.name);
if (item.criterion instanceof MultipleSelectCriterion) { if (item.criterion instanceof MultipleSelectCriterion) {
@ -369,7 +369,7 @@ public class FilterSettingsActivity extends BaseListSettingsActivity {
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://tasks.org/filters"))); startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://tasks.org/filters")));
} }
public void updateList() { private void updateList() {
int max = 0, last = -1; int max = 0, last = -1;
StringBuilder sql = StringBuilder sql =
@ -427,7 +427,7 @@ public class FilterSettingsActivity extends BaseListSettingsActivity {
return value; return value;
} }
public String getSql() { private String getSql() {
StringBuilder sql = new StringBuilder(" WHERE "); StringBuilder sql = new StringBuilder(" WHERE ");
for (CriterionInstance instance : criteria) { for (CriterionInstance instance : criteria) {
String value = getValue(instance); String value = getValue(instance);
@ -455,7 +455,7 @@ public class FilterSettingsActivity extends BaseListSettingsActivity {
return sql.toString(); return sql.toString();
} }
public Map<String, Object> getValues() { private Map<String, Object> getValues() {
Map<String, Object> values = new HashMap<>(); Map<String, Object> values = new HashMap<>();
for (CriterionInstance instance : criteria) { for (CriterionInstance instance : criteria) {
String value = getValue(instance); String value = getValue(instance);

@ -2,7 +2,6 @@ package org.tasks.data;
import androidx.room.Dao; import androidx.room.Dao;
import androidx.room.Insert; import androidx.room.Insert;
import androidx.room.OnConflictStrategy;
import androidx.room.Query; import androidx.room.Query;
import androidx.room.Update; import androidx.room.Update;
import java.util.List; import java.util.List;

@ -2,8 +2,6 @@ package org.tasks.dialogs;
import android.app.Activity; import android.app.Activity;
import android.app.ProgressDialog; import android.app.ProgressDialog;
import android.graphics.drawable.ColorDrawable;
import com.todoroo.andlib.utility.AndroidUtilities;
import javax.inject.Inject; import javax.inject.Inject;
import org.tasks.locale.Locale; import org.tasks.locale.Locale;

@ -5,7 +5,6 @@ import android.content.DialogInterface
import android.content.Intent import android.content.Intent
import android.os.Bundle import android.os.Bundle
import androidx.annotation.StringRes import androidx.annotation.StringRes
import androidx.core.graphics.drawable.DrawableCompat
import androidx.preference.Preference import androidx.preference.Preference
import androidx.preference.PreferenceFragmentCompat import androidx.preference.PreferenceFragmentCompat
import androidx.preference.PreferenceGroup import androidx.preference.PreferenceGroup
@ -79,12 +78,6 @@ abstract class InjectingPreferenceFragment : PreferenceFragmentCompat() {
DrawableUtil.setTint(pref.icon, tint) DrawableUtil.setTint(pref.icon, tint)
} }
protected fun requires(@StringRes prefGroup: Int, check: Boolean, vararg resIds: Int) {
if (!check) {
remove(findPreference(prefGroup) as PreferenceGroup, resIds)
}
}
protected fun requires(check: Boolean, vararg resIds: Int) { protected fun requires(check: Boolean, vararg resIds: Int) {
if (!check) { if (!check) {
remove(preferenceScreen as PreferenceGroup, resIds) remove(preferenceScreen as PreferenceGroup, resIds)

@ -226,10 +226,6 @@ public class Preferences {
return prefs.getString(context.getString(keyResource), null); return prefs.getString(context.getString(keyResource), null);
} }
public boolean isStringValueSet(int keyResource) {
return !isNullOrEmpty(getStringValue(keyResource));
}
public int getDefaultReminders() { public int getDefaultReminders() {
return getIntegerFromString( return getIntegerFromString(
R.string.p_default_reminders_key, Task.NOTIFY_AT_DEADLINE | Task.NOTIFY_AFTER_DEADLINE); R.string.p_default_reminders_key, Task.NOTIFY_AT_DEADLINE | Task.NOTIFY_AFTER_DEADLINE);

@ -72,11 +72,6 @@ public class CalendarNotificationIntentService extends RecurringIntervalIntentSe
: 0; : 0;
} }
@Override
String getLastRunPreference() {
return null;
}
@Override @Override
protected void inject(ServiceComponent component) { protected void inject(ServiceComponent component) {
component.inject(this); component.inject(this);

@ -1,6 +1,5 @@
package org.tasks.scheduling; package org.tasks.scheduling;
import static java.util.concurrent.TimeUnit.SECONDS;
import static org.tasks.time.DateTimeUtils.currentTimeMillis; import static org.tasks.time.DateTimeUtils.currentTimeMillis;
import static org.tasks.time.DateTimeUtils.printTimestamp; import static org.tasks.time.DateTimeUtils.printTimestamp;
@ -14,8 +13,6 @@ import timber.log.Timber;
public abstract class RecurringIntervalIntentService extends InjectingJobIntentService { public abstract class RecurringIntervalIntentService extends InjectingJobIntentService {
private static final long PADDING = SECONDS.toMillis(1);
@Inject Preferences preferences; @Inject Preferences preferences;
@Inject AlarmManager alarmManager; @Inject AlarmManager alarmManager;
@ -28,21 +25,10 @@ public abstract class RecurringIntervalIntentService extends InjectingJobIntentS
return; return;
} }
String lastRunPreference = getLastRunPreference();
long lastRun = lastRunPreference != null ? preferences.getLong(lastRunPreference, 0) : 0;
long now = currentTimeMillis(); long now = currentTimeMillis();
long nextRun = lastRun + interval; long nextRun = now + interval;
if (lastRunPreference == null || nextRun < now + PADDING) {
nextRun = now + interval;
Timber.d("running now [nextRun=%s]", printTimestamp(nextRun)); Timber.d("running now [nextRun=%s]", printTimestamp(nextRun));
if (lastRunPreference != null) {
preferences.setLong(lastRunPreference, now);
}
run(); run();
} else {
Timber.d("will run at %s [lastRun=%s]", printTimestamp(nextRun), printTimestamp(lastRun));
}
PendingIntent pendingIntent = PendingIntent pendingIntent =
PendingIntent.getBroadcast( PendingIntent.getBroadcast(
@ -55,6 +41,4 @@ public abstract class RecurringIntervalIntentService extends InjectingJobIntentS
abstract void run(); abstract void run();
abstract long intervalMillis(); abstract long intervalMillis();
abstract String getLastRunPreference();
} }

@ -9,8 +9,6 @@ import androidx.recyclerview.widget.ListUpdateCallback;
import androidx.recyclerview.widget.RecyclerView; import androidx.recyclerview.widget.RecyclerView;
import com.todoroo.astrid.activity.TaskListFragment; import com.todoroo.astrid.activity.TaskListFragment;
import com.todoroo.astrid.adapter.AstridTaskAdapter;
import com.todoroo.astrid.adapter.GoogleTaskManualSortAdapter;
import com.todoroo.astrid.adapter.TaskAdapter; import com.todoroo.astrid.adapter.TaskAdapter;
import com.todoroo.astrid.api.Filter; import com.todoroo.astrid.api.Filter;
import com.todoroo.astrid.dao.TaskDao; import com.todoroo.astrid.dao.TaskDao;

@ -5,7 +5,6 @@ import android.graphics.Bitmap
import android.graphics.Canvas import android.graphics.Canvas
import android.graphics.drawable.Drawable import android.graphics.drawable.Drawable
import androidx.annotation.DrawableRes import androidx.annotation.DrawableRes
import androidx.core.graphics.drawable.DrawableCompat
import com.todoroo.astrid.data.Task import com.todoroo.astrid.data.Task
import org.tasks.R import org.tasks.R
import org.tasks.injection.ForActivity import org.tasks.injection.ForActivity

@ -70,7 +70,7 @@ public abstract class TaskEditControlFragment extends InjectingFragment {
return false; return false;
} }
protected boolean isNew() { boolean isNew() {
return isNew; return isNew;
} }
} }

@ -1,4 +1,4 @@
<fragment <androidx.fragment.app.FragmentContainerView
xmlns:android="http://schemas.android.com/apk/res/android" xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools" xmlns:tools="http://schemas.android.com/tools"
android:id="@+id/navigation_drawer" android:id="@+id/navigation_drawer"

@ -9,9 +9,8 @@ public class BuildSetup {
@Inject @Inject
public BuildSetup() {} public BuildSetup() {}
public boolean setup() { public void setup() {
Timber.plant(new ErrorReportingTree()); Timber.plant(new ErrorReportingTree());
return true;
} }
private static class ErrorReportingTree extends Timber.Tree { private static class ErrorReportingTree extends Timber.Tree {

Loading…
Cancel
Save