diff --git a/android/sdk/build.gradle b/android/sdk/build.gradle index fa387860e..a556f0937 100644 --- a/android/sdk/build.gradle +++ b/android/sdk/build.gradle @@ -98,7 +98,13 @@ android { } dependencies { + implementation 'androidx.annotation:annotation:1.9.1' + implementation 'androidx.core:core:1.17.0' + implementation 'androidx.recyclerview:recyclerview:1.4.0' + implementation 'androidx.fragment:fragment:1.8.9' + implementation 'androidx.lifecycle:lifecycle-process:2.9.2' + testImplementation 'junit:junit:4.13.2' } // TODO: Running lint task triggers native build. Find a better solution. diff --git a/android/sdk/src/main/java/app/organicmaps/sdk/bookmarks/data/Icon.java b/android/sdk/src/main/java/app/organicmaps/sdk/bookmarks/data/Icon.java index 0ac0c513b..e09ea7cd7 100644 --- a/android/sdk/src/main/java/app/organicmaps/sdk/bookmarks/data/Icon.java +++ b/android/sdk/src/main/java/app/organicmaps/sdk/bookmarks/data/Icon.java @@ -9,8 +9,8 @@ import androidx.annotation.NonNull; import app.organicmaps.BuildConfig; import app.organicmaps.sdk.util.StringUtils; import app.organicmaps.sdk.util.log.Logger; -import com.google.common.base.Objects; import dalvik.annotation.optimization.FastNative; +import java.util.Arrays; public class Icon implements Parcelable { @@ -86,7 +86,7 @@ public class Icon implements Parcelable @Override public int hashCode() { - return Objects.hashCode(mColor, mType); + return Arrays.hashCode(new int[] {mColor, mType}); } public static final Parcelable.Creator CREATOR = new Parcelable.Creator<>() { diff --git a/android/sdk/src/main/java/app/organicmaps/sdk/util/Utils.java b/android/sdk/src/main/java/app/organicmaps/sdk/util/Utils.java index 56dbae3eb..a6ddf728c 100644 --- a/android/sdk/src/main/java/app/organicmaps/sdk/util/Utils.java +++ b/android/sdk/src/main/java/app/organicmaps/sdk/util/Utils.java @@ -18,7 +18,6 @@ import androidx.annotation.NonNull; import androidx.annotation.Nullable; import androidx.annotation.StringRes; import app.organicmaps.BuildConfig; -import app.organicmaps.R; import app.organicmaps.sdk.util.log.Logger; import java.io.Closeable; import java.io.IOException; diff --git a/android/sdk/src/main/java/app/organicmaps/sdk/util/log/Logger.java b/android/sdk/src/main/java/app/organicmaps/sdk/util/log/Logger.java index edc0c28b9..63baea6d7 100644 --- a/android/sdk/src/main/java/app/organicmaps/sdk/util/log/Logger.java +++ b/android/sdk/src/main/java/app/organicmaps/sdk/util/log/Logger.java @@ -12,9 +12,8 @@ import java.text.DateFormat; import java.text.SimpleDateFormat; import java.util.Date; import java.util.Locale; -import net.jcip.annotations.ThreadSafe; -@ThreadSafe +/// Thread-safe public final class Logger { private static final String TAG = Logger.class.getSimpleName(); diff --git a/android/sdk/src/main/java/app/organicmaps/sdk/util/log/LogsManager.java b/android/sdk/src/main/java/app/organicmaps/sdk/util/log/LogsManager.java index fbcf1155b..ec1e871fa 100644 --- a/android/sdk/src/main/java/app/organicmaps/sdk/util/log/LogsManager.java +++ b/android/sdk/src/main/java/app/organicmaps/sdk/util/log/LogsManager.java @@ -27,16 +27,16 @@ import java.util.Date; import java.util.Locale; import java.util.concurrent.ExecutorService; import java.util.concurrent.Executors; -import net.jcip.annotations.ThreadSafe; /** + * Thread-safe + *

* By default uses Android's system logger. * After an initFileLogging() call can use a custom file logging implementation. *

* Its important to have only system logging here to avoid infinite loop * (Logger calls getEnabledLogsFolder() in preparation to write). */ -@ThreadSafe public final class LogsManager { public interface OnZipCompletedListener