diff --git a/build.gradle b/build.gradle
index 8974baa..0af0f61 100644
--- a/build.gradle
+++ b/build.gradle
@@ -13,11 +13,11 @@ buildscript {
apply plugin: 'com.android.application'
android {
- namespace 'nya.kitsunyan.foxydroid'
+ namespace 'com.michatec.store'
compileSdk 36
defaultConfig {
- applicationId 'nya.kitsunyan.foxydroid'
+ applicationId 'com.michatec.store'
minSdk 30
targetSdk 36
versionCode 15
diff --git a/gradle/wrapper/gradle-wrapper.properties b/gradle/wrapper/gradle-wrapper.properties
index d706aba..f50f69e 100644
--- a/gradle/wrapper/gradle-wrapper.properties
+++ b/gradle/wrapper/gradle-wrapper.properties
@@ -1,5 +1,5 @@
distributionBase=GRADLE_USER_HOME
distributionPath=wrapper/dists
-distributionUrl=https\://services.gradle.org/distributions/gradle-9.1.0-bin.zip
+distributionUrl=https\://services.gradle.org/distributions/gradle-9.4.0-bin.zip
zipStoreBase=GRADLE_USER_HOME
zipStorePath=wrapper/dists
diff --git a/src/main/AndroidManifest.xml b/src/main/AndroidManifest.xml
index 190ee09..c337633 100644
--- a/src/main/AndroidManifest.xml
+++ b/src/main/AndroidManifest.xml
@@ -4,18 +4,18 @@
-
-
+
+
-
-
+
+
{
sealed class Request {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/database/Database.kt b/src/main/kotlin/com/michatec/store/database/Database.kt
similarity index 98%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/database/Database.kt
rename to src/main/kotlin/com/michatec/store/database/Database.kt
index 268a8ab..8ca5053 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/database/Database.kt
+++ b/src/main/kotlin/com/michatec/store/database/Database.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.database
+package com.michatec.store.database
import android.content.ContentValues
import android.content.Context
@@ -9,12 +9,12 @@ import android.os.CancellationSignal
import com.fasterxml.jackson.core.JsonGenerator
import com.fasterxml.jackson.core.JsonParser
import io.reactivex.rxjava3.core.Observable
-import nya.kitsunyan.foxydroid.entity.InstalledItem
-import nya.kitsunyan.foxydroid.entity.Product
-import nya.kitsunyan.foxydroid.entity.ProductItem
-import nya.kitsunyan.foxydroid.entity.Repository
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.utility.extension.json.*
+import com.michatec.store.entity.InstalledItem
+import com.michatec.store.entity.Product
+import com.michatec.store.entity.ProductItem
+import com.michatec.store.entity.Repository
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.utility.extension.json.*
import java.io.ByteArrayOutputStream
import androidx.core.database.sqlite.transaction
@@ -155,7 +155,7 @@ object Database {
}
}
- private class Helper(context: Context): SQLiteOpenHelper(context, "foxydroid", null, 1) {
+ private class Helper(context: Context): SQLiteOpenHelper(context, "store", null, 1) {
var created = false
private set
var updated = false
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/database/ObservableCursor.kt b/src/main/kotlin/com/michatec/store/database/ObservableCursor.kt
similarity index 95%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/database/ObservableCursor.kt
rename to src/main/kotlin/com/michatec/store/database/ObservableCursor.kt
index 79a630f..4aa2808 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/database/ObservableCursor.kt
+++ b/src/main/kotlin/com/michatec/store/database/ObservableCursor.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.database
+package com.michatec.store.database
import android.database.ContentObserver
import android.database.Cursor
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/database/QueryBuilder.kt b/src/main/kotlin/com/michatec/store/database/QueryBuilder.kt
similarity index 86%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/database/QueryBuilder.kt
rename to src/main/kotlin/com/michatec/store/database/QueryBuilder.kt
index 584fd45..7636da1 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/database/QueryBuilder.kt
+++ b/src/main/kotlin/com/michatec/store/database/QueryBuilder.kt
@@ -1,11 +1,11 @@
-package nya.kitsunyan.foxydroid.database
+package com.michatec.store.database
import android.database.Cursor
import android.database.sqlite.SQLiteDatabase
import android.os.CancellationSignal
-import nya.kitsunyan.foxydroid.BuildConfig
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.utility.extension.text.*
+import com.michatec.store.BuildConfig
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.utility.extension.text.*
class QueryBuilder {
companion object {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/database/QueryLoader.kt b/src/main/kotlin/com/michatec/store/database/QueryLoader.kt
similarity index 98%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/database/QueryLoader.kt
rename to src/main/kotlin/com/michatec/store/database/QueryLoader.kt
index ce6c7e3..c31915b 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/database/QueryLoader.kt
+++ b/src/main/kotlin/com/michatec/store/database/QueryLoader.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.database
+package com.michatec.store.database
import android.content.Context
import android.database.Cursor
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/entity/InstalledItem.kt b/src/main/kotlin/com/michatec/store/entity/InstalledItem.kt
similarity index 74%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/entity/InstalledItem.kt
rename to src/main/kotlin/com/michatec/store/entity/InstalledItem.kt
index a050302..7e5d269 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/entity/InstalledItem.kt
+++ b/src/main/kotlin/com/michatec/store/entity/InstalledItem.kt
@@ -1,3 +1,3 @@
-package nya.kitsunyan.foxydroid.entity
+package com.michatec.store.entity
class InstalledItem(val packageName: String, val version: String, val versionCode: Long, val signature: String)
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/entity/Product.kt b/src/main/kotlin/com/michatec/store/entity/Product.kt
similarity index 98%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/entity/Product.kt
rename to src/main/kotlin/com/michatec/store/entity/Product.kt
index e36ff6a..c5d21e7 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/entity/Product.kt
+++ b/src/main/kotlin/com/michatec/store/entity/Product.kt
@@ -1,10 +1,10 @@
-package nya.kitsunyan.foxydroid.entity
+package com.michatec.store.entity
import com.fasterxml.jackson.core.JsonGenerator
import com.fasterxml.jackson.core.JsonParser
import com.fasterxml.jackson.core.JsonToken
-import nya.kitsunyan.foxydroid.utility.extension.json.*
-import nya.kitsunyan.foxydroid.utility.extension.text.*
+import com.michatec.store.utility.extension.json.*
+import com.michatec.store.utility.extension.text.*
data class Product(val repositoryId: Long, val packageName: String, val name: String, val summary: String,
val description: String, val whatsNew: String, val icon: String, val metadataIcon: String, val author: Author,
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/entity/ProductItem.kt b/src/main/kotlin/com/michatec/store/entity/ProductItem.kt
similarity index 93%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/entity/ProductItem.kt
rename to src/main/kotlin/com/michatec/store/entity/ProductItem.kt
index 3f7c2c1..0546999 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/entity/ProductItem.kt
+++ b/src/main/kotlin/com/michatec/store/entity/ProductItem.kt
@@ -1,11 +1,11 @@
-package nya.kitsunyan.foxydroid.entity
+package com.michatec.store.entity
import android.os.Parcel
import com.fasterxml.jackson.core.JsonGenerator
import com.fasterxml.jackson.core.JsonParser
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.utility.KParcelable
-import nya.kitsunyan.foxydroid.utility.extension.json.*
+import com.michatec.store.R
+import com.michatec.store.utility.KParcelable
+import com.michatec.store.utility.extension.json.*
data class ProductItem(val repositoryId: Long, val packageName: String, val name: String, val summary: String,
val icon: String, val metadataIcon: String, val version: String, val installedVersion: String,
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/entity/ProductPreference.kt b/src/main/kotlin/com/michatec/store/entity/ProductPreference.kt
similarity index 90%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/entity/ProductPreference.kt
rename to src/main/kotlin/com/michatec/store/entity/ProductPreference.kt
index fc9896d..3f4f9b8 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/entity/ProductPreference.kt
+++ b/src/main/kotlin/com/michatec/store/entity/ProductPreference.kt
@@ -1,8 +1,8 @@
-package nya.kitsunyan.foxydroid.entity
+package com.michatec.store.entity
import com.fasterxml.jackson.core.JsonGenerator
import com.fasterxml.jackson.core.JsonParser
-import nya.kitsunyan.foxydroid.utility.extension.json.*
+import com.michatec.store.utility.extension.json.*
data class ProductPreference(val ignoreUpdates: Boolean, val ignoreVersionCode: Long) {
fun shouldIgnoreUpdate(versionCode: Long): Boolean {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/entity/Release.kt b/src/main/kotlin/com/michatec/store/entity/Release.kt
similarity index 98%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/entity/Release.kt
rename to src/main/kotlin/com/michatec/store/entity/Release.kt
index 1c85f49..38b62f9 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/entity/Release.kt
+++ b/src/main/kotlin/com/michatec/store/entity/Release.kt
@@ -1,9 +1,9 @@
-package nya.kitsunyan.foxydroid.entity
+package com.michatec.store.entity
import com.fasterxml.jackson.core.JsonGenerator
import com.fasterxml.jackson.core.JsonParser
import com.fasterxml.jackson.core.JsonToken
-import nya.kitsunyan.foxydroid.utility.extension.json.*
+import com.michatec.store.utility.extension.json.*
import androidx.core.net.toUri
data class Release(val selected: Boolean, val version: String, val versionCode: Long,
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/entity/Repository.kt b/src/main/kotlin/com/michatec/store/entity/Repository.kt
similarity index 98%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/entity/Repository.kt
rename to src/main/kotlin/com/michatec/store/entity/Repository.kt
index 9292a80..30e03d0 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/entity/Repository.kt
+++ b/src/main/kotlin/com/michatec/store/entity/Repository.kt
@@ -1,8 +1,8 @@
-package nya.kitsunyan.foxydroid.entity
+package com.michatec.store.entity
import com.fasterxml.jackson.core.JsonGenerator
import com.fasterxml.jackson.core.JsonParser
-import nya.kitsunyan.foxydroid.utility.extension.json.*
+import com.michatec.store.utility.extension.json.*
data class Repository(
val id: Long, val address: String, val mirrors: List,
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/graphics/DrawableWrapper.kt b/src/main/kotlin/com/michatec/store/graphics/DrawableWrapper.kt
similarity index 98%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/graphics/DrawableWrapper.kt
rename to src/main/kotlin/com/michatec/store/graphics/DrawableWrapper.kt
index f1f23b5..9a7a91f 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/graphics/DrawableWrapper.kt
+++ b/src/main/kotlin/com/michatec/store/graphics/DrawableWrapper.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.graphics
+package com.michatec.store.graphics
import android.content.res.ColorStateList
import android.graphics.Canvas
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/graphics/PaddingDrawable.kt b/src/main/kotlin/com/michatec/store/graphics/PaddingDrawable.kt
similarity index 94%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/graphics/PaddingDrawable.kt
rename to src/main/kotlin/com/michatec/store/graphics/PaddingDrawable.kt
index 5f6db03..1ad2809 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/graphics/PaddingDrawable.kt
+++ b/src/main/kotlin/com/michatec/store/graphics/PaddingDrawable.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.graphics
+package com.michatec.store.graphics
import android.graphics.Rect
import android.graphics.drawable.Drawable
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/index/IndexHandler.kt b/src/main/kotlin/com/michatec/store/index/IndexHandler.kt
similarity index 98%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/index/IndexHandler.kt
rename to src/main/kotlin/com/michatec/store/index/IndexHandler.kt
index e269a77..87248a7 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/index/IndexHandler.kt
+++ b/src/main/kotlin/com/michatec/store/index/IndexHandler.kt
@@ -1,8 +1,8 @@
-package nya.kitsunyan.foxydroid.index
+package com.michatec.store.index
-import nya.kitsunyan.foxydroid.entity.Product
-import nya.kitsunyan.foxydroid.entity.Release
-import nya.kitsunyan.foxydroid.utility.extension.android.*
+import com.michatec.store.entity.Product
+import com.michatec.store.entity.Release
+import com.michatec.store.utility.extension.android.*
import org.xml.sax.Attributes
import org.xml.sax.helpers.DefaultHandler
import java.text.SimpleDateFormat
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/index/IndexMerger.kt b/src/main/kotlin/com/michatec/store/index/IndexMerger.kt
similarity index 92%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/index/IndexMerger.kt
rename to src/main/kotlin/com/michatec/store/index/IndexMerger.kt
index 2502c52..c5e6c5e 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/index/IndexMerger.kt
+++ b/src/main/kotlin/com/michatec/store/index/IndexMerger.kt
@@ -1,12 +1,12 @@
-package nya.kitsunyan.foxydroid.index
+package com.michatec.store.index
import android.content.ContentValues
import android.database.sqlite.SQLiteDatabase
import com.fasterxml.jackson.core.JsonToken
-import nya.kitsunyan.foxydroid.entity.Product
-import nya.kitsunyan.foxydroid.entity.Release
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.utility.extension.json.*
+import com.michatec.store.entity.Product
+import com.michatec.store.entity.Release
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.utility.extension.json.*
import java.io.ByteArrayOutputStream
import java.io.Closeable
import java.io.File
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/index/IndexV1Parser.kt b/src/main/kotlin/com/michatec/store/index/IndexV1Parser.kt
similarity index 97%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/index/IndexV1Parser.kt
rename to src/main/kotlin/com/michatec/store/index/IndexV1Parser.kt
index c5441ff..c316688 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/index/IndexV1Parser.kt
+++ b/src/main/kotlin/com/michatec/store/index/IndexV1Parser.kt
@@ -1,12 +1,12 @@
-package nya.kitsunyan.foxydroid.index
+package com.michatec.store.index
import com.fasterxml.jackson.core.JsonParser
import com.fasterxml.jackson.core.JsonToken
-import nya.kitsunyan.foxydroid.entity.Product
-import nya.kitsunyan.foxydroid.entity.Release
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.utility.extension.json.*
-import nya.kitsunyan.foxydroid.utility.extension.text.*
+import com.michatec.store.entity.Product
+import com.michatec.store.entity.Release
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.utility.extension.json.*
+import com.michatec.store.utility.extension.text.*
import java.io.InputStream
object IndexV1Parser {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/index/RepositoryUpdater.kt b/src/main/kotlin/com/michatec/store/index/RepositoryUpdater.kt
similarity index 96%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/index/RepositoryUpdater.kt
rename to src/main/kotlin/com/michatec/store/index/RepositoryUpdater.kt
index 1545470..bbfa512 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/index/RepositoryUpdater.kt
+++ b/src/main/kotlin/com/michatec/store/index/RepositoryUpdater.kt
@@ -1,21 +1,21 @@
-package nya.kitsunyan.foxydroid.index
+package com.michatec.store.index
import android.content.Context
import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.core.Single
import io.reactivex.rxjava3.disposables.Disposable
import io.reactivex.rxjava3.schedulers.Schedulers
-import nya.kitsunyan.foxydroid.content.Cache
-import nya.kitsunyan.foxydroid.database.Database
-import nya.kitsunyan.foxydroid.entity.Product
-import nya.kitsunyan.foxydroid.entity.Release
-import nya.kitsunyan.foxydroid.entity.Repository
-import nya.kitsunyan.foxydroid.network.Downloader
-import nya.kitsunyan.foxydroid.utility.ProgressInputStream
-import nya.kitsunyan.foxydroid.utility.RxUtils
-import nya.kitsunyan.foxydroid.utility.Utils
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.utility.extension.text.*
+import com.michatec.store.content.Cache
+import com.michatec.store.database.Database
+import com.michatec.store.entity.Product
+import com.michatec.store.entity.Release
+import com.michatec.store.entity.Repository
+import com.michatec.store.network.Downloader
+import com.michatec.store.utility.ProgressInputStream
+import com.michatec.store.utility.RxUtils
+import com.michatec.store.utility.Utils
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.utility.extension.text.*
import org.xml.sax.InputSource
import java.io.File
import java.security.cert.X509Certificate
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/network/Downloader.kt b/src/main/kotlin/com/michatec/store/network/Downloader.kt
similarity index 96%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/network/Downloader.kt
rename to src/main/kotlin/com/michatec/store/network/Downloader.kt
index 97c4d70..d81b9ac 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/network/Downloader.kt
+++ b/src/main/kotlin/com/michatec/store/network/Downloader.kt
@@ -1,9 +1,9 @@
-package nya.kitsunyan.foxydroid.network
+package com.michatec.store.network
import io.reactivex.rxjava3.core.Single
import io.reactivex.rxjava3.schedulers.Schedulers
-import nya.kitsunyan.foxydroid.utility.ProgressInputStream
-import nya.kitsunyan.foxydroid.utility.RxUtils
+import com.michatec.store.utility.ProgressInputStream
+import com.michatec.store.utility.RxUtils
import okhttp3.Cache
import okhttp3.Call
import okhttp3.OkHttpClient
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/network/PicassoDownloader.kt b/src/main/kotlin/com/michatec/store/network/PicassoDownloader.kt
similarity index 96%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/network/PicassoDownloader.kt
rename to src/main/kotlin/com/michatec/store/network/PicassoDownloader.kt
index 9bfc413..b375f2f 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/network/PicassoDownloader.kt
+++ b/src/main/kotlin/com/michatec/store/network/PicassoDownloader.kt
@@ -1,11 +1,11 @@
-package nya.kitsunyan.foxydroid.network
+package com.michatec.store.network
import android.content.Context
import android.net.Uri
import android.view.View
-import nya.kitsunyan.foxydroid.entity.Product
-import nya.kitsunyan.foxydroid.entity.Repository
-import nya.kitsunyan.foxydroid.utility.extension.text.*
+import com.michatec.store.entity.Product
+import com.michatec.store.entity.Repository
+import com.michatec.store.utility.extension.text.*
import okhttp3.Cache
import okhttp3.Call
import okhttp3.HttpUrl.Companion.toHttpUrl
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/EditRepositoryFragment.kt b/src/main/kotlin/com/michatec/store/screen/EditRepositoryFragment.kt
similarity index 97%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/EditRepositoryFragment.kt
rename to src/main/kotlin/com/michatec/store/screen/EditRepositoryFragment.kt
index 3137d0f..8b30cdd 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/EditRepositoryFragment.kt
+++ b/src/main/kotlin/com/michatec/store/screen/EditRepositoryFragment.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import android.app.AlertDialog
import android.content.ClipboardManager
@@ -24,16 +24,16 @@ import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.core.Single
import io.reactivex.rxjava3.disposables.Disposable
import io.reactivex.rxjava3.schedulers.Schedulers
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.database.Database
-import nya.kitsunyan.foxydroid.entity.Repository
-import nya.kitsunyan.foxydroid.network.Downloader
-import nya.kitsunyan.foxydroid.service.Connection
-import nya.kitsunyan.foxydroid.service.SyncService
-import nya.kitsunyan.foxydroid.utility.RxUtils
-import nya.kitsunyan.foxydroid.utility.Utils
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
-import nya.kitsunyan.foxydroid.utility.extension.text.*
+import com.michatec.store.R
+import com.michatec.store.database.Database
+import com.michatec.store.entity.Repository
+import com.michatec.store.network.Downloader
+import com.michatec.store.service.Connection
+import com.michatec.store.service.SyncService
+import com.michatec.store.utility.RxUtils
+import com.michatec.store.utility.Utils
+import com.michatec.store.utility.extension.resources.*
+import com.michatec.store.utility.extension.text.*
import okhttp3.HttpUrl.Companion.toHttpUrl
import okhttp3.Request
import java.net.URI
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/MessageDialog.kt b/src/main/kotlin/com/michatec/store/screen/MessageDialog.kt
similarity index 96%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/MessageDialog.kt
rename to src/main/kotlin/com/michatec/store/screen/MessageDialog.kt
index c482ab0..f46ccdf 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/MessageDialog.kt
+++ b/src/main/kotlin/com/michatec/store/screen/MessageDialog.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import android.app.AlertDialog
import android.content.ActivityNotFoundException
@@ -9,12 +9,12 @@ import android.os.Parcel
import androidx.core.os.BundleCompat
import androidx.fragment.app.DialogFragment
import androidx.fragment.app.FragmentManager
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.entity.Release
-import nya.kitsunyan.foxydroid.utility.KParcelable
-import nya.kitsunyan.foxydroid.utility.PackageItemResolver
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.utility.extension.text.*
+import com.michatec.store.R
+import com.michatec.store.entity.Release
+import com.michatec.store.utility.KParcelable
+import com.michatec.store.utility.PackageItemResolver
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.utility.extension.text.*
import androidx.core.net.toUri
class MessageDialog(): DialogFragment() {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/PreferencesFragment.kt b/src/main/kotlin/com/michatec/store/screen/PreferencesFragment.kt
similarity index 98%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/PreferencesFragment.kt
rename to src/main/kotlin/com/michatec/store/screen/PreferencesFragment.kt
index 01a0693..9908c1e 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/PreferencesFragment.kt
+++ b/src/main/kotlin/com/michatec/store/screen/PreferencesFragment.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import android.app.AlertDialog
import android.app.Dialog
@@ -20,9 +20,9 @@ import android.widget.Toolbar
import androidx.fragment.app.DialogFragment
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.disposables.Disposable
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.content.Preferences
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
+import com.michatec.store.R
+import com.michatec.store.content.Preferences
+import com.michatec.store.utility.extension.resources.*
import androidx.core.view.isNotEmpty
class PreferencesFragment: ScreenFragment() {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ProductAdapter.kt b/src/main/kotlin/com/michatec/store/screen/ProductAdapter.kt
similarity index 98%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/ProductAdapter.kt
rename to src/main/kotlin/com/michatec/store/screen/ProductAdapter.kt
index 6a959ac..3986e9e 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ProductAdapter.kt
+++ b/src/main/kotlin/com/michatec/store/screen/ProductAdapter.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import android.annotation.SuppressLint
import android.content.ClipData
@@ -40,25 +40,25 @@ import androidx.core.text.HtmlCompat
import androidx.core.text.util.LinkifyCompat
import androidx.recyclerview.widget.DiffUtil
import androidx.recyclerview.widget.RecyclerView
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.content.Preferences
-import nya.kitsunyan.foxydroid.content.ProductPreferences
-import nya.kitsunyan.foxydroid.entity.InstalledItem
-import nya.kitsunyan.foxydroid.entity.Product
-import nya.kitsunyan.foxydroid.entity.ProductPreference
-import nya.kitsunyan.foxydroid.entity.Release
-import nya.kitsunyan.foxydroid.entity.Repository
-import nya.kitsunyan.foxydroid.graphics.PaddingDrawable
-import nya.kitsunyan.foxydroid.network.PicassoDownloader
-import nya.kitsunyan.foxydroid.utility.KParcelable
-import nya.kitsunyan.foxydroid.utility.PackageItemResolver
-import nya.kitsunyan.foxydroid.utility.Utils
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
-import nya.kitsunyan.foxydroid.utility.extension.text.*
-import nya.kitsunyan.foxydroid.widget.ClickableMovementMethod
-import nya.kitsunyan.foxydroid.widget.DividerItemDecoration
-import nya.kitsunyan.foxydroid.widget.StableRecyclerAdapter
+import com.michatec.store.R
+import com.michatec.store.content.Preferences
+import com.michatec.store.content.ProductPreferences
+import com.michatec.store.entity.InstalledItem
+import com.michatec.store.entity.Product
+import com.michatec.store.entity.ProductPreference
+import com.michatec.store.entity.Release
+import com.michatec.store.entity.Repository
+import com.michatec.store.graphics.PaddingDrawable
+import com.michatec.store.network.PicassoDownloader
+import com.michatec.store.utility.KParcelable
+import com.michatec.store.utility.PackageItemResolver
+import com.michatec.store.utility.Utils
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.utility.extension.resources.*
+import com.michatec.store.utility.extension.text.*
+import com.michatec.store.widget.ClickableMovementMethod
+import com.michatec.store.widget.DividerItemDecoration
+import com.michatec.store.widget.StableRecyclerAdapter
import java.lang.ref.WeakReference
import java.util.Locale
import kotlin.math.*
@@ -892,7 +892,7 @@ class ProductAdapter(private val callbacks: Callbacks, private val columns: Int)
}
ProductPreferences[switchItem.packageName] = productPreference
items.asSequence().mapIndexedNotNull { index, item -> if (item is Item.HeaderItem ||
- item is Item.SectionItem) index else null }.forEach { notifyItemChanged(it, Payload.REFRESH) }
+ item is Item.SectionItem || item is Item.SwitchItem) index else null }.forEach { notifyItemChanged(it, Payload.REFRESH) }
callbacks.onPreferenceChanged(productPreference)
}
}
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ProductFragment.kt b/src/main/kotlin/com/michatec/store/screen/ProductFragment.kt
similarity index 95%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/ProductFragment.kt
rename to src/main/kotlin/com/michatec/store/screen/ProductFragment.kt
index 7917ebb..e2526ce 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ProductFragment.kt
+++ b/src/main/kotlin/com/michatec/store/screen/ProductFragment.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import android.app.AlertDialog
import android.content.ActivityNotFoundException
@@ -24,20 +24,20 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.disposables.Disposable
import io.reactivex.rxjava3.schedulers.Schedulers
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.content.ProductPreferences
-import nya.kitsunyan.foxydroid.database.Database
-import nya.kitsunyan.foxydroid.entity.InstalledItem
-import nya.kitsunyan.foxydroid.entity.Product
-import nya.kitsunyan.foxydroid.entity.ProductPreference
-import nya.kitsunyan.foxydroid.entity.Release
-import nya.kitsunyan.foxydroid.entity.Repository
-import nya.kitsunyan.foxydroid.service.Connection
-import nya.kitsunyan.foxydroid.service.DownloadService
-import nya.kitsunyan.foxydroid.utility.RxUtils
-import nya.kitsunyan.foxydroid.utility.Utils
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.widget.DividerItemDecoration
+import com.michatec.store.R
+import com.michatec.store.content.ProductPreferences
+import com.michatec.store.database.Database
+import com.michatec.store.entity.InstalledItem
+import com.michatec.store.entity.Product
+import com.michatec.store.entity.ProductPreference
+import com.michatec.store.entity.Release
+import com.michatec.store.entity.Repository
+import com.michatec.store.service.Connection
+import com.michatec.store.service.DownloadService
+import com.michatec.store.utility.RxUtils
+import com.michatec.store.utility.Utils
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.widget.DividerItemDecoration
import androidx.core.net.toUri
class ProductFragment(): ScreenFragment(), ProductAdapter.Callbacks {
@@ -271,8 +271,8 @@ class ProductFragment(): ScreenFragment(), ProductAdapter.Callbacks {
val toolbar = toolbar
if (toolbar != null) {
- for (action in sequenceOf(Action.INSTALL, Action.UPDATE, Action.UNINSTALL)) {
- toolbar.menu.findItem(action.id).isEnabled = !downloading
+ for (action in sequenceOf(Action.INSTALL, Action.UPDATE, Action.UNINSTALL)) {
+ toolbar.menu.findItem(action.id).isEnabled = !downloading
}
}
this.actions = Pair(actions, primaryAction)
@@ -349,7 +349,6 @@ class ProductFragment(): ScreenFragment(), ProductAdapter.Callbacks {
if (productRepository != null && release != null && binder != null) {
binder.enqueue(packageName, productRepository.first.name, productRepository.second, release)
}
- Unit
}
ProductAdapter.Action.LAUNCH -> {
val launcherActivities = installed?.launcherActivities.orEmpty()
@@ -358,7 +357,6 @@ class ProductFragment(): ScreenFragment(), ProductAdapter.Callbacks {
} else {
launcherActivities.firstOrNull()?.let { startLauncherActivity(it.first) }
}
- Unit
}
ProductAdapter.Action.DETAILS -> {
startActivity(Intent(Settings.ACTION_APPLICATION_DETAILS_SETTINGS)
@@ -373,9 +371,8 @@ class ProductFragment(): ScreenFragment(), ProductAdapter.Callbacks {
if (downloading && binder != null) {
binder.cancel(packageName)
}
- Unit
}
- }::class
+ }
}
private fun startLauncherActivity(name: String) {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ProductsAdapter.kt b/src/main/kotlin/com/michatec/store/screen/ProductsAdapter.kt
similarity index 93%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/ProductsAdapter.kt
rename to src/main/kotlin/com/michatec/store/screen/ProductsAdapter.kt
index 8c4f7d7..8b2616e 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ProductsAdapter.kt
+++ b/src/main/kotlin/com/michatec/store/screen/ProductsAdapter.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import android.annotation.SuppressLint
import android.content.Context
@@ -13,16 +13,16 @@ import android.widget.ImageView
import android.widget.ProgressBar
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.database.Database
-import nya.kitsunyan.foxydroid.entity.ProductItem
-import nya.kitsunyan.foxydroid.entity.Repository
-import nya.kitsunyan.foxydroid.network.PicassoDownloader
-import nya.kitsunyan.foxydroid.utility.Utils
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
-import nya.kitsunyan.foxydroid.utility.extension.text.*
-import nya.kitsunyan.foxydroid.widget.CursorRecyclerAdapter
-import nya.kitsunyan.foxydroid.widget.DividerItemDecoration
+import com.michatec.store.R
+import com.michatec.store.database.Database
+import com.michatec.store.entity.ProductItem
+import com.michatec.store.entity.Repository
+import com.michatec.store.network.PicassoDownloader
+import com.michatec.store.utility.Utils
+import com.michatec.store.utility.extension.resources.*
+import com.michatec.store.utility.extension.text.*
+import com.michatec.store.widget.CursorRecyclerAdapter
+import com.michatec.store.widget.DividerItemDecoration
class ProductsAdapter(private val onClick: (ProductItem) -> Unit):
CursorRecyclerAdapter() {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ProductsFragment.kt b/src/main/kotlin/com/michatec/store/screen/ProductsFragment.kt
similarity index 94%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/ProductsFragment.kt
rename to src/main/kotlin/com/michatec/store/screen/ProductsFragment.kt
index 04579c4..42ff46a 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ProductsFragment.kt
+++ b/src/main/kotlin/com/michatec/store/screen/ProductsFragment.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import android.database.Cursor
import android.os.Bundle
@@ -13,13 +13,13 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.disposables.Disposable
import io.reactivex.rxjava3.schedulers.Schedulers
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.database.CursorOwner
-import nya.kitsunyan.foxydroid.database.Database
-import nya.kitsunyan.foxydroid.entity.ProductItem
-import nya.kitsunyan.foxydroid.utility.RxUtils
-import nya.kitsunyan.foxydroid.widget.DividerItemDecoration
-import nya.kitsunyan.foxydroid.widget.RecyclerFastScroller
+import com.michatec.store.R
+import com.michatec.store.database.CursorOwner
+import com.michatec.store.database.Database
+import com.michatec.store.entity.ProductItem
+import com.michatec.store.utility.RxUtils
+import com.michatec.store.widget.DividerItemDecoration
+import com.michatec.store.widget.RecyclerFastScroller
class ProductsFragment(): ScreenFragment(), CursorOwner.Callback {
companion object {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/RepositoriesAdapter.kt b/src/main/kotlin/com/michatec/store/screen/RepositoriesAdapter.kt
similarity index 88%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/RepositoriesAdapter.kt
rename to src/main/kotlin/com/michatec/store/screen/RepositoriesAdapter.kt
index b49720b..09e4413 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/RepositoriesAdapter.kt
+++ b/src/main/kotlin/com/michatec/store/screen/RepositoriesAdapter.kt
@@ -1,15 +1,15 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import android.view.View
import android.view.ViewGroup
import android.widget.Switch
import android.widget.TextView
import androidx.recyclerview.widget.RecyclerView
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.database.Database
-import nya.kitsunyan.foxydroid.entity.Repository
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
-import nya.kitsunyan.foxydroid.widget.CursorRecyclerAdapter
+import com.michatec.store.R
+import com.michatec.store.database.Database
+import com.michatec.store.entity.Repository
+import com.michatec.store.utility.extension.resources.*
+import com.michatec.store.widget.CursorRecyclerAdapter
class RepositoriesAdapter(private val onClick: (Repository) -> Unit,
private val onSwitch: (repository: Repository, isEnabled: Boolean) -> Boolean):
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/RepositoriesFragment.kt b/src/main/kotlin/com/michatec/store/screen/RepositoriesFragment.kt
similarity index 90%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/RepositoriesFragment.kt
rename to src/main/kotlin/com/michatec/store/screen/RepositoriesFragment.kt
index 88db686..129f4ba 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/RepositoriesFragment.kt
+++ b/src/main/kotlin/com/michatec/store/screen/RepositoriesFragment.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import android.database.Cursor
import android.os.Bundle
@@ -10,11 +10,11 @@ import android.widget.FrameLayout
import android.widget.Toolbar
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.database.CursorOwner
-import nya.kitsunyan.foxydroid.service.Connection
-import nya.kitsunyan.foxydroid.service.SyncService
-import nya.kitsunyan.foxydroid.utility.Utils
+import com.michatec.store.R
+import com.michatec.store.database.CursorOwner
+import com.michatec.store.service.Connection
+import com.michatec.store.service.SyncService
+import com.michatec.store.utility.Utils
class RepositoriesFragment: ScreenFragment(), CursorOwner.Callback {
private var recyclerView: RecyclerView? = null
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/RepositoryFragment.kt b/src/main/kotlin/com/michatec/store/screen/RepositoryFragment.kt
similarity index 94%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/RepositoryFragment.kt
rename to src/main/kotlin/com/michatec/store/screen/RepositoryFragment.kt
index 33122a5..94de861 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/RepositoryFragment.kt
+++ b/src/main/kotlin/com/michatec/store/screen/RepositoryFragment.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import android.os.Bundle
import android.text.SpannableStringBuilder
@@ -17,12 +17,12 @@ import android.widget.Toolbar
import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.disposables.Disposable
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.database.Database
-import nya.kitsunyan.foxydroid.service.Connection
-import nya.kitsunyan.foxydroid.service.SyncService
-import nya.kitsunyan.foxydroid.utility.Utils
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
+import com.michatec.store.R
+import com.michatec.store.database.Database
+import com.michatec.store.service.Connection
+import com.michatec.store.service.SyncService
+import com.michatec.store.utility.Utils
+import com.michatec.store.utility.extension.resources.*
import java.util.Date
import java.util.Locale
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ScreenActivity.kt b/src/main/kotlin/com/michatec/store/screen/ScreenActivity.kt
similarity index 94%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/ScreenActivity.kt
rename to src/main/kotlin/com/michatec/store/screen/ScreenActivity.kt
index 2bc9930..a4b9f9d 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ScreenActivity.kt
+++ b/src/main/kotlin/com/michatec/store/screen/ScreenActivity.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import android.content.Context
import android.content.Intent
@@ -14,15 +14,15 @@ import androidx.core.os.BundleCompat
import androidx.core.view.WindowCompat
import androidx.fragment.app.Fragment
import androidx.fragment.app.FragmentActivity
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.content.Cache
-import nya.kitsunyan.foxydroid.content.Preferences
-import nya.kitsunyan.foxydroid.database.CursorOwner
-import nya.kitsunyan.foxydroid.utility.KParcelable
-import nya.kitsunyan.foxydroid.utility.Utils
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
-import nya.kitsunyan.foxydroid.utility.extension.text.*
+import com.michatec.store.R
+import com.michatec.store.content.Cache
+import com.michatec.store.content.Preferences
+import com.michatec.store.database.CursorOwner
+import com.michatec.store.utility.KParcelable
+import com.michatec.store.utility.Utils
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.utility.extension.resources.*
+import com.michatec.store.utility.extension.text.*
abstract class ScreenActivity: FragmentActivity() {
companion object {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ScreenFragment.kt b/src/main/kotlin/com/michatec/store/screen/ScreenFragment.kt
similarity index 84%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/ScreenFragment.kt
rename to src/main/kotlin/com/michatec/store/screen/ScreenFragment.kt
index 33551d0..4a0f11f 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ScreenFragment.kt
+++ b/src/main/kotlin/com/michatec/store/screen/ScreenFragment.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import androidx.fragment.app.Fragment
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ScreenshotsFragment.kt b/src/main/kotlin/com/michatec/store/screen/ScreenshotsFragment.kt
similarity index 94%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/ScreenshotsFragment.kt
rename to src/main/kotlin/com/michatec/store/screen/ScreenshotsFragment.kt
index e7247c2..5727d5f 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/ScreenshotsFragment.kt
+++ b/src/main/kotlin/com/michatec/store/screen/ScreenshotsFragment.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import android.app.Dialog
import android.content.Context
@@ -22,16 +22,16 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.disposables.Disposable
import io.reactivex.rxjava3.schedulers.Schedulers
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.database.Database
-import nya.kitsunyan.foxydroid.entity.Product
-import nya.kitsunyan.foxydroid.entity.Repository
-import nya.kitsunyan.foxydroid.graphics.PaddingDrawable
-import nya.kitsunyan.foxydroid.network.PicassoDownloader
-import nya.kitsunyan.foxydroid.utility.RxUtils
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
-import nya.kitsunyan.foxydroid.widget.StableRecyclerAdapter
+import com.michatec.store.R
+import com.michatec.store.database.Database
+import com.michatec.store.entity.Product
+import com.michatec.store.entity.Repository
+import com.michatec.store.graphics.PaddingDrawable
+import com.michatec.store.network.PicassoDownloader
+import com.michatec.store.utility.RxUtils
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.utility.extension.resources.*
+import com.michatec.store.widget.StableRecyclerAdapter
class ScreenshotsFragment(): DialogFragment() {
companion object {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/TabsFragment.kt b/src/main/kotlin/com/michatec/store/screen/TabsFragment.kt
similarity index 97%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/screen/TabsFragment.kt
rename to src/main/kotlin/com/michatec/store/screen/TabsFragment.kt
index 673664d..6256b20 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/screen/TabsFragment.kt
+++ b/src/main/kotlin/com/michatec/store/screen/TabsFragment.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.screen
+package com.michatec.store.screen
import android.animation.ValueAnimator
import android.content.Context
@@ -34,19 +34,19 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.disposables.Disposable
import io.reactivex.rxjava3.schedulers.Schedulers
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.content.Preferences
-import nya.kitsunyan.foxydroid.database.Database
-import nya.kitsunyan.foxydroid.entity.ProductItem
-import nya.kitsunyan.foxydroid.service.Connection
-import nya.kitsunyan.foxydroid.service.SyncService
-import nya.kitsunyan.foxydroid.utility.RxUtils
-import nya.kitsunyan.foxydroid.utility.Utils
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
-import nya.kitsunyan.foxydroid.widget.DividerItemDecoration
-import nya.kitsunyan.foxydroid.widget.FocusSearchView
-import nya.kitsunyan.foxydroid.widget.StableRecyclerAdapter
+import com.michatec.store.R
+import com.michatec.store.content.Preferences
+import com.michatec.store.database.Database
+import com.michatec.store.entity.ProductItem
+import com.michatec.store.service.Connection
+import com.michatec.store.service.SyncService
+import com.michatec.store.utility.RxUtils
+import com.michatec.store.utility.Utils
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.utility.extension.resources.*
+import com.michatec.store.widget.DividerItemDecoration
+import com.michatec.store.widget.FocusSearchView
+import com.michatec.store.widget.StableRecyclerAdapter
import kotlin.math.*
class TabsFragment: ScreenFragment() {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/service/Connection.kt b/src/main/kotlin/com/michatec/store/service/Connection.kt
similarity index 96%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/service/Connection.kt
rename to src/main/kotlin/com/michatec/store/service/Connection.kt
index 749be63..3bf79dd 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/service/Connection.kt
+++ b/src/main/kotlin/com/michatec/store/service/Connection.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.service
+package com.michatec.store.service
import android.content.ComponentName
import android.content.Context
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/service/ConnectionService.kt b/src/main/kotlin/com/michatec/store/service/ConnectionService.kt
similarity index 79%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/service/ConnectionService.kt
rename to src/main/kotlin/com/michatec/store/service/ConnectionService.kt
index 75b1412..803c935 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/service/ConnectionService.kt
+++ b/src/main/kotlin/com/michatec/store/service/ConnectionService.kt
@@ -1,9 +1,9 @@
-package nya.kitsunyan.foxydroid.service
+package com.michatec.store.service
import android.app.Service
import android.content.Intent
import android.os.IBinder
-import nya.kitsunyan.foxydroid.utility.extension.android.*
+import com.michatec.store.utility.extension.android.*
abstract class ConnectionService: Service() {
abstract override fun onBind(intent: Intent): T
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/service/DownloadService.kt b/src/main/kotlin/com/michatec/store/service/DownloadService.kt
similarity index 96%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/service/DownloadService.kt
rename to src/main/kotlin/com/michatec/store/service/DownloadService.kt
index 535753a..f478439 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/service/DownloadService.kt
+++ b/src/main/kotlin/com/michatec/store/service/DownloadService.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.service
+package com.michatec.store.service
import android.app.NotificationChannel
import android.app.NotificationManager
@@ -13,18 +13,18 @@ import io.reactivex.rxjava3.android.schedulers.AndroidSchedulers
import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.disposables.Disposable
import io.reactivex.rxjava3.subjects.PublishSubject
-import nya.kitsunyan.foxydroid.BuildConfig
-import nya.kitsunyan.foxydroid.Common
-import nya.kitsunyan.foxydroid.MainActivity
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.content.Cache
-import nya.kitsunyan.foxydroid.entity.Release
-import nya.kitsunyan.foxydroid.entity.Repository
-import nya.kitsunyan.foxydroid.network.Downloader
-import nya.kitsunyan.foxydroid.utility.Utils
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
-import nya.kitsunyan.foxydroid.utility.extension.text.*
+import com.michatec.store.BuildConfig
+import com.michatec.store.Common
+import com.michatec.store.MainActivity
+import com.michatec.store.R
+import com.michatec.store.content.Cache
+import com.michatec.store.entity.Release
+import com.michatec.store.entity.Repository
+import com.michatec.store.network.Downloader
+import com.michatec.store.utility.Utils
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.utility.extension.resources.*
+import com.michatec.store.utility.extension.text.*
import java.io.File
import java.security.MessageDigest
import java.util.concurrent.TimeUnit
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/service/SyncService.kt b/src/main/kotlin/com/michatec/store/service/SyncService.kt
similarity index 96%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/service/SyncService.kt
rename to src/main/kotlin/com/michatec/store/service/SyncService.kt
index b96562e..f65a513 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/service/SyncService.kt
+++ b/src/main/kotlin/com/michatec/store/service/SyncService.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.service
+package com.michatec.store.service
import android.app.NotificationChannel
import android.app.NotificationManager
@@ -18,19 +18,19 @@ import io.reactivex.rxjava3.core.Observable
import io.reactivex.rxjava3.disposables.Disposable
import io.reactivex.rxjava3.schedulers.Schedulers
import io.reactivex.rxjava3.subjects.PublishSubject
-import nya.kitsunyan.foxydroid.BuildConfig
-import nya.kitsunyan.foxydroid.Common
-import nya.kitsunyan.foxydroid.MainActivity
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.content.Preferences
-import nya.kitsunyan.foxydroid.database.Database
-import nya.kitsunyan.foxydroid.entity.ProductItem
-import nya.kitsunyan.foxydroid.entity.Repository
-import nya.kitsunyan.foxydroid.index.RepositoryUpdater
-import nya.kitsunyan.foxydroid.utility.RxUtils
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
-import nya.kitsunyan.foxydroid.utility.extension.text.*
+import com.michatec.store.BuildConfig
+import com.michatec.store.Common
+import com.michatec.store.MainActivity
+import com.michatec.store.R
+import com.michatec.store.content.Preferences
+import com.michatec.store.database.Database
+import com.michatec.store.entity.ProductItem
+import com.michatec.store.entity.Repository
+import com.michatec.store.index.RepositoryUpdater
+import com.michatec.store.utility.RxUtils
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.utility.extension.resources.*
+import com.michatec.store.utility.extension.text.*
import java.lang.ref.WeakReference
import java.util.concurrent.TimeUnit
import kotlin.math.*
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/KParcelable.kt b/src/main/kotlin/com/michatec/store/utility/KParcelable.kt
similarity index 93%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/utility/KParcelable.kt
rename to src/main/kotlin/com/michatec/store/utility/KParcelable.kt
index e006399..79c770b 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/KParcelable.kt
+++ b/src/main/kotlin/com/michatec/store/utility/KParcelable.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.utility
+package com.michatec.store.utility
import android.os.Parcel
import android.os.Parcelable
diff --git a/src/main/kotlin/com/michatec/store/utility/PackageItemResolver.kt b/src/main/kotlin/com/michatec/store/utility/PackageItemResolver.kt
new file mode 100644
index 0000000..c25993c
--- /dev/null
+++ b/src/main/kotlin/com/michatec/store/utility/PackageItemResolver.kt
@@ -0,0 +1,109 @@
+package com.michatec.store.utility
+
+import android.content.Context
+import android.content.pm.PackageItemInfo
+import android.content.pm.PermissionInfo
+import android.content.res.Resources
+import java.util.Locale
+
+object PackageItemResolver {
+ class LocalCache {
+ internal val resources = mutableMapOf()
+ }
+
+ private data class CacheKey(val locales: List, val packageName: String, val resId: Int)
+
+ private val cache = mutableMapOf()
+
+ private fun load(context: Context, localCache: LocalCache, packageName: String,
+ nonLocalized: CharSequence?, resId: Int): CharSequence? {
+ return when {
+ nonLocalized != null -> {
+ nonLocalized
+ }
+ resId != 0 -> {
+ val localesList = context.resources.configuration.locales
+ val locales = (0 until localesList.size()).map(localesList::get)
+
+ val cacheKey = CacheKey(locales, packageName, resId)
+ if (cache.containsKey(cacheKey)) {
+ cache[cacheKey]
+ } else {
+ val resources = localCache.resources[packageName] ?: run {
+ val resources = try {
+ context.createPackageContext(packageName, 0)
+ .createConfigurationContext(context.resources.configuration)
+ .resources
+ } catch (_: Exception) {
+ null
+ }
+ resources?.let { localCache.resources[packageName] = it }
+ resources
+ }
+ val label = resources?.getString(resId)
+ cache[cacheKey] = label
+ label
+ }
+ }
+ else -> {
+ null
+ }
+ }
+ }
+
+ fun loadLabel(context: Context, localCache: LocalCache, packageItemInfo: PackageItemInfo): CharSequence? {
+ return load(context, localCache, packageItemInfo.packageName,
+ packageItemInfo.nonLocalizedLabel, packageItemInfo.labelRes)
+ }
+
+ fun loadDescription(context: Context, localCache: LocalCache, permissionInfo: PermissionInfo): CharSequence? {
+ return load(context, localCache, permissionInfo.packageName,
+ permissionInfo.nonLocalizedDescription, permissionInfo.descriptionRes)
+ }
+
+ fun getPermissionGroup(permissionInfo: PermissionInfo): String? {
+ return when (permissionInfo.name) {
+ android.Manifest.permission.READ_CONTACTS,
+ android.Manifest.permission.WRITE_CONTACTS,
+ android.Manifest.permission.GET_ACCOUNTS ->
+ android.Manifest.permission_group.CONTACTS
+ android.Manifest.permission.READ_CALENDAR,
+ android.Manifest.permission.WRITE_CALENDAR ->
+ android.Manifest.permission_group.CALENDAR
+ android.Manifest.permission.SEND_SMS,
+ android.Manifest.permission.RECEIVE_SMS,
+ android.Manifest.permission.READ_SMS,
+ android.Manifest.permission.RECEIVE_MMS,
+ android.Manifest.permission.RECEIVE_WAP_PUSH,
+ "android.permission.READ_CELL_BROADCASTS" ->
+ android.Manifest.permission_group.SMS
+ android.Manifest.permission.READ_EXTERNAL_STORAGE,
+ android.Manifest.permission.WRITE_EXTERNAL_STORAGE,
+ android.Manifest.permission.ACCESS_MEDIA_LOCATION ->
+ android.Manifest.permission_group.STORAGE
+ android.Manifest.permission.ACCESS_FINE_LOCATION,
+ android.Manifest.permission.ACCESS_COARSE_LOCATION,
+ android.Manifest.permission.ACCESS_BACKGROUND_LOCATION ->
+ android.Manifest.permission_group.LOCATION
+ android.Manifest.permission.READ_CALL_LOG,
+ android.Manifest.permission.WRITE_CALL_LOG,
+ android.Manifest.permission.READ_PHONE_STATE,
+ android.Manifest.permission.READ_PHONE_NUMBERS,
+ android.Manifest.permission.CALL_PHONE,
+ android.Manifest.permission.ADD_VOICEMAIL,
+ android.Manifest.permission.USE_SIP,
+ android.Manifest.permission.ANSWER_PHONE_CALLS,
+ android.Manifest.permission.ACCEPT_HANDOVER ->
+ android.Manifest.permission_group.PHONE
+ android.Manifest.permission.RECORD_AUDIO ->
+ android.Manifest.permission_group.MICROPHONE
+ android.Manifest.permission.ACTIVITY_RECOGNITION ->
+ android.Manifest.permission_group.ACTIVITY_RECOGNITION
+ android.Manifest.permission.CAMERA ->
+ android.Manifest.permission_group.CAMERA
+ android.Manifest.permission.BODY_SENSORS ->
+ android.Manifest.permission_group.SENSORS
+ else -> null
+ }
+ }
+}
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/ProgressInputStream.kt b/src/main/kotlin/com/michatec/store/utility/ProgressInputStream.kt
similarity index 95%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/utility/ProgressInputStream.kt
rename to src/main/kotlin/com/michatec/store/utility/ProgressInputStream.kt
index d527c04..7c4e4a6 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/ProgressInputStream.kt
+++ b/src/main/kotlin/com/michatec/store/utility/ProgressInputStream.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.utility
+package com.michatec.store.utility
import java.io.InputStream
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/RxUtils.kt b/src/main/kotlin/com/michatec/store/utility/RxUtils.kt
similarity index 98%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/utility/RxUtils.kt
rename to src/main/kotlin/com/michatec/store/utility/RxUtils.kt
index 12afd37..17d52a1 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/RxUtils.kt
+++ b/src/main/kotlin/com/michatec/store/utility/RxUtils.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.utility
+package com.michatec.store.utility
import android.os.CancellationSignal
import android.os.OperationCanceledException
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/Utils.kt b/src/main/kotlin/com/michatec/store/utility/Utils.kt
similarity index 91%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/utility/Utils.kt
rename to src/main/kotlin/com/michatec/store/utility/Utils.kt
index ee9b91d..5831350 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/Utils.kt
+++ b/src/main/kotlin/com/michatec/store/utility/Utils.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.utility
+package com.michatec.store.utility
import android.animation.ValueAnimator
import android.annotation.SuppressLint
@@ -8,11 +8,11 @@ import android.content.res.Configuration
import android.graphics.drawable.Drawable
import android.os.LocaleList
import android.provider.Settings
-import nya.kitsunyan.foxydroid.BuildConfig
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
-import nya.kitsunyan.foxydroid.utility.extension.text.*
+import com.michatec.store.BuildConfig
+import com.michatec.store.R
+import com.michatec.store.utility.extension.android.*
+import com.michatec.store.utility.extension.resources.*
+import com.michatec.store.utility.extension.text.*
import java.security.MessageDigest
import java.security.cert.Certificate
import java.security.cert.CertificateEncodingException
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/extension/Android.kt b/src/main/kotlin/com/michatec/store/utility/extension/Android.kt
similarity index 71%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/utility/extension/Android.kt
rename to src/main/kotlin/com/michatec/store/utility/extension/Android.kt
index d47a9a1..62a39c3 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/extension/Android.kt
+++ b/src/main/kotlin/com/michatec/store/utility/extension/Android.kt
@@ -1,5 +1,5 @@
@file:Suppress("PackageDirectoryMismatch")
-package nya.kitsunyan.foxydroid.utility.extension.android
+package com.michatec.store.utility.extension.android
import android.app.NotificationManager
import android.content.Context
@@ -25,16 +25,15 @@ val Context.notificationManager: NotificationManager
get() = getSystemService(Context.NOTIFICATION_SERVICE) as NotificationManager
val PackageInfo.versionCodeCompat: Long
- get() = if (Android.sdk(28)) longVersionCode else @Suppress("DEPRECATION") versionCode.toLong()
+ get() = longVersionCode
val PackageInfo.singleSignature: Signature?
get() {
- return if (Android.sdk(28)) {
- val signingInfo = signingInfo
- if (signingInfo?.hasMultipleSigners() == false) signingInfo.apkContentsSigners
- ?.let { if (it.size == 1) it[0] else null } else null
+ val signingInfo = signingInfo
+ return if (signingInfo?.hasMultipleSigners() == false) {
+ signingInfo.apkContentsSigners?.let { if (it.size == 1) it[0] else null }
} else {
- null
+ null
}
}
@@ -56,18 +55,17 @@ object Android {
object PendingIntent {
val FLAG_IMMUTABLE: Int
- get() = if (sdk(23)) android.app.PendingIntent.FLAG_IMMUTABLE else 0
-
+ get() = android.app.PendingIntent.FLAG_IMMUTABLE
}
object PackageManager {
val signaturesFlag: Int
- get() = (if (sdk(28)) android.content.pm.PackageManager.GET_SIGNING_CERTIFICATES else 0)
+ get() = android.content.pm.PackageManager.GET_SIGNING_CERTIFICATES
}
object ServiceInfo {
val FOREGROUND_SERVICE_TYPE_DATA_SYNC: Int
- get() = if (sdk(29)) android.content.pm.ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC else 0
+ get() = android.content.pm.ServiceInfo.FOREGROUND_SERVICE_TYPE_DATA_SYNC
}
object Device {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/extension/Json.kt b/src/main/kotlin/com/michatec/store/utility/extension/Json.kt
similarity index 98%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/utility/extension/Json.kt
rename to src/main/kotlin/com/michatec/store/utility/extension/Json.kt
index a3329ee..6826c55 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/extension/Json.kt
+++ b/src/main/kotlin/com/michatec/store/utility/extension/Json.kt
@@ -1,5 +1,5 @@
@file:Suppress("PackageDirectoryMismatch")
-package nya.kitsunyan.foxydroid.utility.extension.json
+package com.michatec.store.utility.extension.json
import com.fasterxml.jackson.core.JsonFactory
import com.fasterxml.jackson.core.JsonGenerator
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/extension/Resources.kt b/src/main/kotlin/com/michatec/store/utility/extension/Resources.kt
similarity index 95%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/utility/extension/Resources.kt
rename to src/main/kotlin/com/michatec/store/utility/extension/Resources.kt
index 6f7a990..bda52d9 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/extension/Resources.kt
+++ b/src/main/kotlin/com/michatec/store/utility/extension/Resources.kt
@@ -1,5 +1,5 @@
@file:Suppress("PackageDirectoryMismatch")
-package nya.kitsunyan.foxydroid.utility.extension.resources
+package com.michatec.store.utility.extension.resources
import android.content.Context
import android.content.res.ColorStateList
@@ -18,7 +18,7 @@ import androidx.core.content.ContextCompat
import androidx.vectordrawable.graphics.drawable.VectorDrawableCompat
import com.squareup.picasso.Picasso
import com.squareup.picasso.RequestCreator
-import nya.kitsunyan.foxydroid.utility.extension.android.*
+import com.michatec.store.utility.extension.android.*
import org.xmlpull.v1.XmlPullParser
import kotlin.math.*
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/extension/Text.kt b/src/main/kotlin/com/michatec/store/utility/extension/Text.kt
similarity index 96%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/utility/extension/Text.kt
rename to src/main/kotlin/com/michatec/store/utility/extension/Text.kt
index ebdacc2..75aa4f1 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/extension/Text.kt
+++ b/src/main/kotlin/com/michatec/store/utility/extension/Text.kt
@@ -1,5 +1,5 @@
@file:Suppress("PackageDirectoryMismatch")
-package nya.kitsunyan.foxydroid.utility.extension.text
+package com.michatec.store.utility.extension.text
import android.util.Log
import java.util.Locale
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/ClickableMovementMethod.kt b/src/main/kotlin/com/michatec/store/widget/ClickableMovementMethod.kt
similarity index 98%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/widget/ClickableMovementMethod.kt
rename to src/main/kotlin/com/michatec/store/widget/ClickableMovementMethod.kt
index b5b9295..33429b5 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/ClickableMovementMethod.kt
+++ b/src/main/kotlin/com/michatec/store/widget/ClickableMovementMethod.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.widget
+package com.michatec.store.widget
import android.text.Selection
import android.text.Spannable
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/CursorRecyclerAdapter.kt b/src/main/kotlin/com/michatec/store/widget/CursorRecyclerAdapter.kt
similarity index 98%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/widget/CursorRecyclerAdapter.kt
rename to src/main/kotlin/com/michatec/store/widget/CursorRecyclerAdapter.kt
index 658325f..8766177 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/CursorRecyclerAdapter.kt
+++ b/src/main/kotlin/com/michatec/store/widget/CursorRecyclerAdapter.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.widget
+package com.michatec.store.widget
import android.annotation.SuppressLint
import android.database.Cursor
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/DividerItemDecoration.kt b/src/main/kotlin/com/michatec/store/widget/DividerItemDecoration.kt
similarity index 96%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/widget/DividerItemDecoration.kt
rename to src/main/kotlin/com/michatec/store/widget/DividerItemDecoration.kt
index 2d58a86..a8654ce 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/DividerItemDecoration.kt
+++ b/src/main/kotlin/com/michatec/store/widget/DividerItemDecoration.kt
@@ -1,12 +1,12 @@
-package nya.kitsunyan.foxydroid.widget
+package com.michatec.store.widget
import android.content.Context
import android.graphics.Canvas
import android.graphics.Rect
import android.view.View
import androidx.recyclerview.widget.RecyclerView
-import nya.kitsunyan.foxydroid.R
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
+import com.michatec.store.R
+import com.michatec.store.utility.extension.resources.*
import kotlin.math.*
class DividerItemDecoration(context: Context, private val configure: (context: Context,
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/EnumRecyclerAdapter.kt b/src/main/kotlin/com/michatec/store/widget/EnumRecyclerAdapter.kt
similarity index 95%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/widget/EnumRecyclerAdapter.kt
rename to src/main/kotlin/com/michatec/store/widget/EnumRecyclerAdapter.kt
index 3eab736..8ab87cc 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/EnumRecyclerAdapter.kt
+++ b/src/main/kotlin/com/michatec/store/widget/EnumRecyclerAdapter.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.widget
+package com.michatec.store.widget
import android.util.SparseArray
import android.view.ViewGroup
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/FocusSearchView.kt b/src/main/kotlin/com/michatec/store/widget/FocusSearchView.kt
similarity index 96%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/widget/FocusSearchView.kt
rename to src/main/kotlin/com/michatec/store/widget/FocusSearchView.kt
index a71ae0e..1981258 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/FocusSearchView.kt
+++ b/src/main/kotlin/com/michatec/store/widget/FocusSearchView.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.widget
+package com.michatec.store.widget
import android.content.Context
import android.util.AttributeSet
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/FragmentLinearLayout.kt b/src/main/kotlin/com/michatec/store/widget/FragmentLinearLayout.kt
similarity index 93%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/widget/FragmentLinearLayout.kt
rename to src/main/kotlin/com/michatec/store/widget/FragmentLinearLayout.kt
index 1da1419..dc8d1a5 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/FragmentLinearLayout.kt
+++ b/src/main/kotlin/com/michatec/store/widget/FragmentLinearLayout.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.widget
+package com.michatec.store.widget
import android.content.Context
import android.util.AttributeSet
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/RecyclerFastScroller.kt b/src/main/kotlin/com/michatec/store/widget/RecyclerFastScroller.kt
similarity index 99%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/widget/RecyclerFastScroller.kt
rename to src/main/kotlin/com/michatec/store/widget/RecyclerFastScroller.kt
index 22725f9..c714a30 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/RecyclerFastScroller.kt
+++ b/src/main/kotlin/com/michatec/store/widget/RecyclerFastScroller.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.widget
+package com.michatec.store.widget
import android.graphics.Canvas
import android.graphics.Rect
@@ -7,7 +7,7 @@ import android.view.MotionEvent
import android.view.ViewGroup
import androidx.recyclerview.widget.LinearLayoutManager
import androidx.recyclerview.widget.RecyclerView
-import nya.kitsunyan.foxydroid.utility.extension.resources.*
+import com.michatec.store.utility.extension.resources.*
import kotlin.math.*
class RecyclerFastScroller(private val recyclerView: RecyclerView) {
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/StableRecyclerAdapter.kt b/src/main/kotlin/com/michatec/store/widget/StableRecyclerAdapter.kt
similarity index 94%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/widget/StableRecyclerAdapter.kt
rename to src/main/kotlin/com/michatec/store/widget/StableRecyclerAdapter.kt
index 03cb321..e066086 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/StableRecyclerAdapter.kt
+++ b/src/main/kotlin/com/michatec/store/widget/StableRecyclerAdapter.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.widget
+package com.michatec.store.widget
import androidx.recyclerview.widget.RecyclerView
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/Toolbar.kt b/src/main/kotlin/com/michatec/store/widget/Toolbar.kt
similarity index 96%
rename from src/main/kotlin/nya/kitsunyan/foxydroid/widget/Toolbar.kt
rename to src/main/kotlin/com/michatec/store/widget/Toolbar.kt
index 3ea53fe..f0a294a 100644
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/widget/Toolbar.kt
+++ b/src/main/kotlin/com/michatec/store/widget/Toolbar.kt
@@ -1,4 +1,4 @@
-package nya.kitsunyan.foxydroid.widget
+package com.michatec.store.widget
import android.content.Context
import android.util.AttributeSet
diff --git a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/PackageItemResolver.kt b/src/main/kotlin/nya/kitsunyan/foxydroid/utility/PackageItemResolver.kt
deleted file mode 100644
index 91eb5ca..0000000
--- a/src/main/kotlin/nya/kitsunyan/foxydroid/utility/PackageItemResolver.kt
+++ /dev/null
@@ -1,122 +0,0 @@
-package nya.kitsunyan.foxydroid.utility
-
-import android.content.Context
-import android.content.pm.PackageItemInfo
-import android.content.pm.PermissionInfo
-import android.content.res.Resources
-import nya.kitsunyan.foxydroid.utility.extension.android.*
-import java.util.Locale
-
-object PackageItemResolver {
- class LocalCache {
- internal val resources = mutableMapOf()
- }
-
- private data class CacheKey(val locales: List, val packageName: String, val resId: Int)
-
- private val cache = mutableMapOf()
-
- private fun load(context: Context, localCache: LocalCache, packageName: String,
- nonLocalized: CharSequence?, resId: Int): CharSequence? {
- return when {
- nonLocalized != null -> {
- nonLocalized
- }
- resId != 0 -> {
- val locales = if (Android.sdk(24)) {
- val localesList = context.resources.configuration.locales
- (0 until localesList.size()).map(localesList::get)
- } else {
- @Suppress("DEPRECATION")
- listOf(context.resources.configuration.locale)
- }
- val cacheKey = CacheKey(locales, packageName, resId)
- if (cache.containsKey(cacheKey)) {
- cache[cacheKey]
- } else {
- val resources = localCache.resources[packageName] ?: run {
- val resources = try {
- val resources = context.packageManager.getResourcesForApplication(packageName)
- @Suppress("DEPRECATION")
- resources.updateConfiguration(context.resources.configuration, null)
- resources
- } catch (_: Exception) {
- null
- }
- resources?.let { localCache.resources[packageName] = it }
- resources
- }
- val label = resources?.getString(resId)
- cache[cacheKey] = label
- label
- }
- }
- else -> {
- null
- }
- }
- }
-
- fun loadLabel(context: Context, localCache: LocalCache, packageItemInfo: PackageItemInfo): CharSequence? {
- return load(context, localCache, packageItemInfo.packageName,
- packageItemInfo.nonLocalizedLabel, packageItemInfo.labelRes)
- }
-
- fun loadDescription(context: Context, localCache: LocalCache, permissionInfo: PermissionInfo): CharSequence? {
- return load(context, localCache, permissionInfo.packageName,
- permissionInfo.nonLocalizedDescription, permissionInfo.descriptionRes)
- }
-
- fun getPermissionGroup(permissionInfo: PermissionInfo): String? {
- return if (Android.sdk(29)) {
- // Copied from package installer (Utils.java)
- when (permissionInfo.name) {
- android.Manifest.permission.READ_CONTACTS,
- android.Manifest.permission.WRITE_CONTACTS,
- android.Manifest.permission.GET_ACCOUNTS ->
- android.Manifest.permission_group.CONTACTS
- android.Manifest.permission.READ_CALENDAR,
- android.Manifest.permission.WRITE_CALENDAR ->
- android.Manifest.permission_group.CALENDAR
- android.Manifest.permission.SEND_SMS,
- android.Manifest.permission.RECEIVE_SMS,
- android.Manifest.permission.READ_SMS,
- android.Manifest.permission.RECEIVE_MMS,
- android.Manifest.permission.RECEIVE_WAP_PUSH,
- "android.permission.READ_CELL_BROADCASTS" ->
- android.Manifest.permission_group.SMS
- android.Manifest.permission.READ_EXTERNAL_STORAGE,
- android.Manifest.permission.WRITE_EXTERNAL_STORAGE,
- android.Manifest.permission.ACCESS_MEDIA_LOCATION ->
- android.Manifest.permission_group.STORAGE
- android.Manifest.permission.ACCESS_FINE_LOCATION,
- android.Manifest.permission.ACCESS_COARSE_LOCATION,
- android.Manifest.permission.ACCESS_BACKGROUND_LOCATION ->
- android.Manifest.permission_group.LOCATION
- android.Manifest.permission.READ_CALL_LOG,
- android.Manifest.permission.WRITE_CALL_LOG,
- @Suppress("DEPRECATION") android.Manifest.permission.PROCESS_OUTGOING_CALLS ->
- android.Manifest.permission_group.CALL_LOG
- android.Manifest.permission.READ_PHONE_STATE,
- android.Manifest.permission.READ_PHONE_NUMBERS,
- android.Manifest.permission.CALL_PHONE,
- android.Manifest.permission.ADD_VOICEMAIL,
- android.Manifest.permission.USE_SIP,
- android.Manifest.permission.ANSWER_PHONE_CALLS,
- android.Manifest.permission.ACCEPT_HANDOVER ->
- android.Manifest.permission_group.PHONE
- android.Manifest.permission.RECORD_AUDIO ->
- android.Manifest.permission_group.MICROPHONE
- android.Manifest.permission.ACTIVITY_RECOGNITION ->
- android.Manifest.permission_group.ACTIVITY_RECOGNITION
- android.Manifest.permission.CAMERA ->
- android.Manifest.permission_group.CAMERA
- android.Manifest.permission.BODY_SENSORS ->
- android.Manifest.permission_group.SENSORS
- else -> null
- }
- } else {
- permissionInfo.group
- }
- }
-}
diff --git a/src/main/res/layout/edit_repository.xml b/src/main/res/layout/edit_repository.xml
index 3a7f41b..413a4e7 100644
--- a/src/main/res/layout/edit_repository.xml
+++ b/src/main/res/layout/edit_repository.xml
@@ -95,7 +95,7 @@
android:fontFamily="monospace"
android:textSize="16sp"
android:inputType="textNoSuggestions|textMultiLine"
- tools:ignore="Autofill,LabelFor" />
+ tools:ignore="Autofill,LabelFor,Speakable" />
-
-
-
+
diff --git a/src/main/res/layout/product_header_item.xml b/src/main/res/layout/product_header_item.xml
index d1c1bbb..ed3e38d 100644
--- a/src/main/res/layout/product_header_item.xml
+++ b/src/main/res/layout/product_header_item.xml
@@ -66,6 +66,7 @@
android:layout_height="wrap_content"
android:layout_marginStart="8dp"
android:layout_gravity="bottom"
+ android:text="@string/website"
style="@android:style/Widget.Material.Button" />
diff --git a/src/main/res/layout/tabs_toolbar.xml b/src/main/res/layout/tabs_toolbar.xml
index 7fd12df..70385fb 100644
--- a/src/main/res/layout/tabs_toolbar.xml
+++ b/src/main/res/layout/tabs_toolbar.xml
@@ -15,7 +15,7 @@
+ android:layout_height="wrap_content">
Always
Anti-features
Application
- Foxy Droid
+ Store
Application not found
Author email
Author website