manual migration

pull/544/head
olegivo 6 years ago
parent 85ec0faa99
commit fe732ea385

@ -23,6 +23,8 @@ import android.content.*;
import android.os.*; import android.os.*;
import android.view.*; import android.view.*;
import androidx.annotation.NonNull;
import java.io.*; import java.io.*;
import java.text.*; import java.text.*;
import java.util.*; import java.util.*;

@ -21,6 +21,8 @@ package org.isoron.androidbase;
import android.content.*; import android.content.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.content.*; import androidx.core.content.*;
import android.util.*; import android.util.*;

@ -19,6 +19,9 @@
package org.isoron.androidbase; package org.isoron.androidbase;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.androidbase.activities.*; import org.isoron.androidbase.activities.*;
public class BaseExceptionHandler implements Thread.UncaughtExceptionHandler public class BaseExceptionHandler implements Thread.UncaughtExceptionHandler

@ -21,6 +21,8 @@ package org.isoron.androidbase;
import android.content.*; import android.content.*;
import androidx.annotation.NonNull;
import java.io.*; import java.io.*;
import java.security.*; import java.security.*;
import java.security.cert.Certificate; import java.security.cert.Certificate;

@ -22,6 +22,7 @@ package org.isoron.androidbase.activities;
import android.content.*; import android.content.*;
import android.os.*; import android.os.*;
import androidx.annotation.Nullable;
import androidx.appcompat.app.*; import androidx.appcompat.app.*;
import android.view.*; import android.view.*;

@ -21,6 +21,9 @@ package org.isoron.androidbase.activities;
import android.view.*; import android.view.*;
import androidx.annotation.MenuRes;
import androidx.annotation.NonNull;
/** /**
* Base class for all the menus in the application. * Base class for all the menus in the application.
* <p> * <p>

@ -21,6 +21,8 @@ package org.isoron.androidbase.activities;
import android.content.*; import android.content.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.Toolbar; import androidx.appcompat.widget.Toolbar;
import android.view.*; import android.view.*;
import android.widget.*; import android.widget.*;

@ -25,6 +25,9 @@ import android.graphics.drawable.*;
import android.net.*; import android.net.*;
import android.os.*; import android.os.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.annotation.StringRes;
import androidx.core.content.res.*; import androidx.core.content.res.*;
import androidx.appcompat.app.*; import androidx.appcompat.app.*;
import androidx.appcompat.view.ActionMode; import androidx.appcompat.view.ActionMode;
@ -215,7 +218,7 @@ public class BaseScreen
if (snackbar == null) if (snackbar == null)
{ {
snackbar = Snackbar.make(rootView, stringId, Snackbar.LENGTH_SHORT); snackbar = Snackbar.make(rootView, stringId, Snackbar.LENGTH_SHORT);
int tvId = android.support.design.R.id.snackbar_text; int tvId = R.id.snackbar_text;
TextView tv = (TextView) snackbar.getView().findViewById(tvId); TextView tv = (TextView) snackbar.getView().findViewById(tvId);
tv.setTextColor(Color.WHITE); tv.setTextColor(Color.WHITE);
} }

@ -19,6 +19,8 @@
package org.isoron.androidbase.activities; package org.isoron.androidbase.activities;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.view.ActionMode; import androidx.appcompat.view.ActionMode;
import android.view.*; import android.view.*;

@ -22,6 +22,9 @@ package org.isoron.androidbase.utils;
import android.os.*; import android.os.*;
import android.util.*; import android.util.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import java.io.*; import java.io.*;
public abstract class FileUtils public abstract class FileUtils

@ -23,6 +23,8 @@ import android.content.*;
import android.content.res.*; import android.content.res.*;
import android.graphics.*; import android.graphics.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.core.view.*; import androidx.core.view.*;
import android.util.*; import android.util.*;
import android.view.*; import android.view.*;

@ -23,6 +23,9 @@ import android.content.*;
import android.content.res.*; import android.content.res.*;
import android.graphics.drawable.*; import android.graphics.drawable.*;
import androidx.annotation.AttrRes;
import androidx.annotation.NonNull;
import org.isoron.androidbase.*; import org.isoron.androidbase.*;
public class StyledResources public class StyledResources

@ -24,6 +24,8 @@ import android.content.*;
import android.content.res.*; import android.content.res.*;
import android.os.*; import android.os.*;
import androidx.annotation.NonNull;
import androidx.annotation.StyleRes;
import androidx.test.*; import androidx.test.*;
import androidx.test.filters.*; import androidx.test.filters.*;
import android.util.*; import android.util.*;

@ -20,6 +20,7 @@
package org.isoron.uhabits; package org.isoron.uhabits;
import android.content.*; import android.content.*;
import androidx.test.uiautomator.*; import androidx.test.uiautomator.*;
import com.linkedin.android.testbutler.*; import com.linkedin.android.testbutler.*;

@ -21,6 +21,7 @@ package org.isoron.uhabits;
import android.graphics.*; import android.graphics.*;
import androidx.annotation.NonNull;
import androidx.test.*; import androidx.test.*;
import android.view.*; import android.view.*;
import android.widget.*; import android.widget.*;

@ -19,6 +19,7 @@
package org.isoron.uhabits.acceptance.steps; package org.isoron.uhabits.acceptance.steps;
import androidx.annotation.StringRes;
import androidx.test.espresso.*; import androidx.test.espresso.*;
import androidx.test.espresso.contrib.*; import androidx.test.espresso.contrib.*;
import androidx.test.uiautomator.*; import androidx.test.uiautomator.*;

@ -22,6 +22,8 @@ package org.isoron.uhabits.activities.about;
import android.content.*; import android.content.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import org.isoron.androidbase.activities.*; import org.isoron.androidbase.activities.*;
import org.isoron.androidbase.utils.*; import org.isoron.androidbase.utils.*;
import org.isoron.uhabits.BuildConfig; import org.isoron.uhabits.BuildConfig;

@ -21,6 +21,8 @@ package org.isoron.uhabits.activities.about;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import org.isoron.androidbase.activities.*; import org.isoron.androidbase.activities.*;
import org.isoron.uhabits.core.ui.screens.about.*; import org.isoron.uhabits.core.ui.screens.about.*;
import org.isoron.uhabits.intents.*; import org.isoron.uhabits.intents.*;

@ -21,6 +21,7 @@ package org.isoron.uhabits.activities.common.dialogs;
import android.content.*; import android.content.*;
import androidx.annotation.NonNull;
import androidx.appcompat.app.*; import androidx.appcompat.app.*;
import com.google.auto.factory.*; import com.google.auto.factory.*;

@ -23,6 +23,8 @@ import android.app.*;
import android.content.*; import android.content.*;
import android.os.*; import android.os.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.AlertDialog; import androidx.appcompat.app.AlertDialog;
import androidx.appcompat.app.*; import androidx.appcompat.app.*;
import android.util.*; import android.util.*;

@ -23,6 +23,9 @@ import android.content.*;
import android.graphics.*; import android.graphics.*;
import android.util.*; import android.util.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.androidbase.utils.*; import org.isoron.androidbase.utils.*;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.activities.habits.list.views.*; import org.isoron.uhabits.activities.habits.list.views.*;

@ -23,6 +23,8 @@ import android.content.*;
import android.graphics.*; import android.graphics.*;
import android.util.*; import android.util.*;
import androidx.annotation.NonNull;
import org.isoron.androidbase.utils.*; import org.isoron.androidbase.utils.*;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.models.*;

@ -25,6 +25,9 @@ import android.graphics.Paint.*;
import android.util.*; import android.util.*;
import android.view.*; import android.view.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.androidbase.utils.*; import org.isoron.androidbase.utils.*;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.models.*;

@ -25,6 +25,8 @@ import android.text.*;
import android.util.*; import android.util.*;
import android.view.*; import android.view.*;
import androidx.annotation.Nullable;
import org.isoron.androidbase.utils.*; import org.isoron.androidbase.utils.*;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.utils.*; import org.isoron.uhabits.utils.*;

@ -23,6 +23,9 @@ import android.content.*;
import android.graphics.*; import android.graphics.*;
import android.util.*; import android.util.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.androidbase.utils.*; import org.isoron.androidbase.utils.*;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.models.*;

@ -23,6 +23,8 @@ import android.app.*;
import android.content.*; import android.content.*;
import android.os.*; import android.os.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.app.*; import androidx.appcompat.app.*;
import android.text.format.*; import android.text.format.*;
import android.view.*; import android.view.*;

@ -21,6 +21,8 @@ package org.isoron.uhabits.activities.habits.edit;
import android.os.*; import android.os.*;
import androidx.annotation.NonNull;
import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.models.*;
import javax.inject.*; import javax.inject.*;

@ -23,7 +23,9 @@ import android.content.*;
import android.text.*; import android.text.*;
import android.util.*; import android.util.*;
import android.view.*; import android.view.*;
import android.widget.*;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.AppCompatEditText;
import org.isoron.androidbase.utils.*; import org.isoron.androidbase.utils.*;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
@ -34,7 +36,7 @@ import static org.isoron.uhabits.utils.AttributeSetUtils.*;
* An EditText that shows an example usage when there is no text * An EditText that shows an example usage when there is no text
* currently set. The example disappears when the widget gains focus. * currently set. The example disappears when the widget gains focus.
*/ */
public class ExampleEditText extends EditText public class ExampleEditText extends AppCompatEditText
implements View.OnFocusChangeListener implements View.OnFocusChangeListener
{ {

@ -26,6 +26,9 @@ import android.util.*;
import android.view.*; import android.view.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.uhabits.R; import org.isoron.uhabits.R;
import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.models.*;

@ -26,6 +26,9 @@ import android.util.*;
import android.view.*; import android.view.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.uhabits.R; import org.isoron.uhabits.R;
import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.activities.common.views.*;
import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.models.*;

@ -25,6 +25,9 @@ import android.util.*;
import android.view.*; import android.view.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.android.datetimepicker.time.*; import com.android.datetimepicker.time.*;
import org.isoron.uhabits.R; import org.isoron.uhabits.R;

@ -25,6 +25,9 @@ import android.util.*;
import android.view.*; import android.view.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.uhabits.R; import org.isoron.uhabits.R;
import java.text.DecimalFormat; import java.text.DecimalFormat;

@ -19,6 +19,8 @@
package org.isoron.uhabits.activities.habits.list.views; package org.isoron.uhabits.activities.habits.list.views;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.appcompat.widget.*; import androidx.appcompat.widget.*;
import android.view.*; import android.view.*;

@ -22,6 +22,7 @@ package org.isoron.uhabits.activities.habits.show;
import android.content.*; import android.content.*;
import android.os.*; import android.os.*;
import androidx.annotation.NonNull;
import androidx.appcompat.widget.*; import androidx.appcompat.widget.*;
import org.isoron.androidbase.activities.*; import org.isoron.androidbase.activities.*;

@ -19,6 +19,8 @@
package org.isoron.uhabits.activities.habits.show; package org.isoron.uhabits.activities.habits.show;
import androidx.annotation.NonNull;
import org.isoron.androidbase.activities.*; import org.isoron.androidbase.activities.*;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.activities.common.dialogs.*; import org.isoron.uhabits.activities.common.dialogs.*;

@ -21,6 +21,8 @@ package org.isoron.uhabits.activities.habits.show;
import android.view.*; import android.view.*;
import androidx.annotation.NonNull;
import org.isoron.androidbase.activities.*; import org.isoron.androidbase.activities.*;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.core.preferences.Preferences; import org.isoron.uhabits.core.preferences.Preferences;

@ -23,6 +23,8 @@ import android.content.*;
import android.util.*; import android.util.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.Nullable;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.R; import org.isoron.uhabits.R;
import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.activities.common.views.*;

@ -23,6 +23,8 @@ import android.content.*;
import android.util.*; import android.util.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.Nullable;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.R; import org.isoron.uhabits.R;
import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.activities.common.views.*;

@ -23,6 +23,9 @@ import android.content.*;
import android.util.*; import android.util.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.models.*;
import org.isoron.uhabits.core.models.memory.*; import org.isoron.uhabits.core.models.memory.*;

@ -23,6 +23,8 @@ import android.content.*;
import android.util.*; import android.util.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.Nullable;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.R; import org.isoron.uhabits.R;
import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.activities.common.views.*;

@ -23,6 +23,8 @@ import android.content.*;
import android.util.*; import android.util.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import org.isoron.androidbase.utils.*; import org.isoron.androidbase.utils.*;
import org.isoron.uhabits.R; import org.isoron.uhabits.R;
import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.activities.common.views.*;

@ -23,6 +23,9 @@ import android.content.*;
import android.util.*; import android.util.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.R; import org.isoron.uhabits.R;
import org.isoron.uhabits.activities.common.views.*; import org.isoron.uhabits.activities.common.views.*;

@ -26,6 +26,12 @@ import android.os.*;
import android.provider.*; import android.provider.*;
import android.util.*; import android.util.*;
import androidx.annotation.Nullable;
import androidx.preference.ListPreference;
import androidx.preference.Preference;
import androidx.preference.PreferenceCategory;
import androidx.preference.PreferenceFragmentCompat;
import org.isoron.uhabits.R; import org.isoron.uhabits.R;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.core.preferences.*; import org.isoron.uhabits.core.preferences.*;

@ -4,6 +4,7 @@ package org.isoron.uhabits.notifications;
import android.app.*; import android.app.*;
import android.os.*; import android.os.*;
import androidx.annotation.Nullable;
import androidx.core.app.*; import androidx.core.app.*;
import android.text.format.*; import android.text.format.*;
import android.view.*; import android.view.*;

@ -22,6 +22,8 @@ package org.isoron.uhabits.receivers;
import android.content.*; import android.content.*;
import android.net.*; import android.net.*;
import androidx.annotation.NonNull;
import org.isoron.uhabits.core.*; import org.isoron.uhabits.core.*;
import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.models.*;
import org.isoron.uhabits.core.preferences.*; import org.isoron.uhabits.core.preferences.*;

@ -22,6 +22,8 @@ package org.isoron.uhabits.receivers;
import android.content.*; import android.content.*;
import android.util.*; import android.util.*;
import androidx.annotation.Nullable;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.models.*;
import org.isoron.uhabits.core.utils.*; import org.isoron.uhabits.core.utils.*;

@ -19,6 +19,9 @@
package org.isoron.uhabits.sync; package org.isoron.uhabits.sync;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.uhabits.core.database.*; import org.isoron.uhabits.core.database.*;
@Table(name = "Events") @Table(name = "Events")

@ -21,6 +21,9 @@ package org.isoron.uhabits.sync;
import android.util.*; import android.util.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.androidbase.*; import org.isoron.androidbase.*;
import org.isoron.uhabits.BuildConfig; import org.isoron.uhabits.BuildConfig;
import org.isoron.uhabits.core.*; import org.isoron.uhabits.core.*;

@ -21,6 +21,9 @@ package org.isoron.uhabits.tasks;
import android.content.*; import android.content.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import com.google.auto.factory.*; import com.google.auto.factory.*;
import org.isoron.androidbase.*; import org.isoron.androidbase.*;

@ -19,6 +19,8 @@
package org.isoron.uhabits.tasks; package org.isoron.uhabits.tasks;
import androidx.annotation.NonNull;
import com.google.auto.factory.*; import com.google.auto.factory.*;
import org.isoron.uhabits.core.io.*; import org.isoron.uhabits.core.io.*;

@ -18,6 +18,8 @@
*/ */
package org.isoron.uhabits.utils; package org.isoron.uhabits.utils;
import androidx.annotation.NonNull;
import org.isoron.uhabits.core.utils.*; import org.isoron.uhabits.core.utils.*;
import java.text.*; import java.text.*;

@ -21,6 +21,7 @@ package org.isoron.uhabits.utils;
import android.content.*; import android.content.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable; import androidx.annotation.Nullable;
import android.util.*; import android.util.*;

@ -22,6 +22,9 @@ package org.isoron.uhabits.utils;
import android.content.*; import android.content.*;
import android.database.sqlite.*; import android.database.sqlite.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.androidbase.utils.*; import org.isoron.androidbase.utils.*;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.core.*; import org.isoron.uhabits.core.*;

@ -21,7 +21,6 @@ package org.isoron.uhabits.utils
import android.graphics.* import android.graphics.*
import androidx.annotation.* import androidx.annotation.*
import android.support.design.widget.*
import androidx.appcompat.widget.Toolbar import androidx.appcompat.widget.Toolbar
import android.view.* import android.view.*
import android.view.ViewGroup.LayoutParams.* import android.view.ViewGroup.LayoutParams.*
@ -75,7 +74,7 @@ fun ViewGroup.buildToolbar(): Toolbar {
fun View.showMessage(@StringRes stringId: Int) { fun View.showMessage(@StringRes stringId: Int) {
try { try {
val snackbar = Snackbar.make(this, stringId, Snackbar.LENGTH_SHORT) val snackbar = Snackbar.make(this, stringId, Snackbar.LENGTH_SHORT)
val tvId = android.support.design.R.id.snackbar_text val tvId = R.id.snackbar_text
val tv = snackbar.view.findViewById<TextView>(tvId) val tv = snackbar.view.findViewById<TextView>(tvId)
tv?.setTextColor(Color.WHITE) tv?.setTextColor(Color.WHITE)
snackbar.show() snackbar.show()

@ -25,6 +25,8 @@ import android.graphics.*;
import android.view.*; import android.view.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.core.preferences.*; import org.isoron.uhabits.core.preferences.*;
import org.isoron.uhabits.intents.*; import org.isoron.uhabits.intents.*;

@ -24,6 +24,9 @@ import android.content.*;
import android.os.*; import android.os.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.models.*;
import org.isoron.uhabits.core.preferences.*; import org.isoron.uhabits.core.preferences.*;

@ -6,6 +6,8 @@ import android.os.*;
import android.util.Log; import android.util.Log;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.models.*;
import org.isoron.uhabits.core.preferences.*; import org.isoron.uhabits.core.preferences.*;

@ -23,6 +23,9 @@ import android.content.*;
import android.util.*; import android.util.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.androidbase.utils.*; import org.isoron.androidbase.utils.*;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
import org.isoron.uhabits.core.models.*; import org.isoron.uhabits.core.models.*;

@ -23,6 +23,8 @@ import android.content.*;
import android.view.*; import android.view.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;
public class GraphWidgetView extends HabitWidgetView public class GraphWidgetView extends HabitWidgetView

@ -27,6 +27,9 @@ import android.util.*;
import android.view.*; import android.view.*;
import android.widget.*; import android.widget.*;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import org.isoron.androidbase.utils.*; import org.isoron.androidbase.utils.*;
import org.isoron.uhabits.*; import org.isoron.uhabits.*;

Loading…
Cancel
Save