mirror of
https://github.com/Michatec/michas-droid.git
synced 2026-06-03 13:00:31 +02:00
Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| ae64498a18 | |||
| d49bce9188 | |||
| 2e619402da | |||
| 3cacd3a825 | |||
| 23bb2f2587 | |||
| 03dc8f812d | |||
| daf42708a4 | |||
| 81a3177168 | |||
| 56bf081f13 |
@@ -51,4 +51,6 @@ Run `./gradlew assembleRelease` to build the package, which can be installed usi
|
|||||||
|
|
||||||
## License
|
## License
|
||||||
|
|
||||||
Michas Droid is available under the terms of the GNU General Public License v3 or later. Copyright © 2026 Michatec.
|
Michas Droid is available under the terms of the GNU General Public License v3 or later.
|
||||||
|
|
||||||
|
Copyright © 2026 Michatec.
|
||||||
|
|||||||
@@ -3,8 +3,8 @@ core-ktx = "1.18.0"
|
|||||||
fragment-ktx = "1.8.9"
|
fragment-ktx = "1.8.9"
|
||||||
freedroidwarn = "V1.13"
|
freedroidwarn = "V1.13"
|
||||||
gradle = "9.2.1"
|
gradle = "9.2.1"
|
||||||
jackson-core = "2.21.2"
|
jackson-core = "2.21.4"
|
||||||
kotlin = "2.3.20"
|
kotlin = "2.3.21"
|
||||||
okhttp = "5.3.2"
|
okhttp = "5.3.2"
|
||||||
picasso = "2.71828"
|
picasso = "2.71828"
|
||||||
rxandroid = "3.0.2"
|
rxandroid = "3.0.2"
|
||||||
|
|||||||
@@ -1,12 +1,15 @@
|
|||||||
<?xml version="1.0" encoding="utf-8"?>
|
<?xml version="1.0" encoding="utf-8"?>
|
||||||
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
|
<manifest xmlns:tools="http://schemas.android.com/tools"
|
||||||
|
xmlns:android="http://schemas.android.com/apk/res/android">
|
||||||
|
|
||||||
<uses-permission android:name="android.permission.INTERNET" />
|
<uses-permission android:name="android.permission.INTERNET" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE"
|
||||||
|
tools:ignore="ForegroundServicesPolicy" />
|
||||||
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
|
<uses-permission android:name="android.permission.FOREGROUND_SERVICE_DATA_SYNC" />
|
||||||
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
<uses-permission android:name="android.permission.POST_NOTIFICATIONS" />
|
||||||
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />
|
||||||
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />
|
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES"
|
||||||
|
tools:ignore="RequestInstallPackagesPolicy" />
|
||||||
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
|
<uses-permission android:name="android.permission.REQUEST_DELETE_PACKAGES" />
|
||||||
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
|
||||||
|
|
||||||
|
|||||||
@@ -91,8 +91,8 @@ data class Repository(
|
|||||||
),
|
),
|
||||||
if (isFdroid) null else defaultRepository(
|
if (isFdroid) null else defaultRepository(
|
||||||
"https://repo.dgplayser.duckdns.org/fdroid/archive",
|
"https://repo.dgplayser.duckdns.org/fdroid/archive",
|
||||||
"Michachatz F-Droid Repo",
|
"Michachatz F-Droid Archive",
|
||||||
"Michachatz official repository. Everything in this repository is always built from the source code.",
|
"Michachatz official archive repository. Everything in this repository is always built from the source code.",
|
||||||
21, true, "3546DCBDD900F280EE2161CC163C1156BE2C2F3EB810415115039E0C7D3242C0 ", ""
|
21, true, "3546DCBDD900F280EE2161CC163C1156BE2C2F3EB810415115039E0C7D3242C0 ", ""
|
||||||
),
|
),
|
||||||
defaultRepository(
|
defaultRepository(
|
||||||
|
|||||||
@@ -35,8 +35,8 @@ import android.widget.ProgressBar
|
|||||||
import android.widget.Switch
|
import android.widget.Switch
|
||||||
import android.widget.TextView
|
import android.widget.TextView
|
||||||
import android.widget.Toast
|
import android.widget.Toast
|
||||||
import androidx.core.content.ContextCompat.getString
|
|
||||||
import androidx.core.graphics.ColorUtils
|
import androidx.core.graphics.ColorUtils
|
||||||
|
import androidx.core.net.toUri
|
||||||
import androidx.core.text.HtmlCompat
|
import androidx.core.text.HtmlCompat
|
||||||
import androidx.core.text.util.LinkifyCompat
|
import androidx.core.text.util.LinkifyCompat
|
||||||
import androidx.recyclerview.widget.DiffUtil
|
import androidx.recyclerview.widget.DiffUtil
|
||||||
@@ -54,16 +54,24 @@ import com.michatec.store.network.PicassoDownloader
|
|||||||
import com.michatec.store.utility.KParcelable
|
import com.michatec.store.utility.KParcelable
|
||||||
import com.michatec.store.utility.PackageItemResolver
|
import com.michatec.store.utility.PackageItemResolver
|
||||||
import com.michatec.store.utility.Utils
|
import com.michatec.store.utility.Utils
|
||||||
import com.michatec.store.utility.extension.android.*
|
import com.michatec.store.utility.extension.android.Android
|
||||||
import com.michatec.store.utility.extension.resources.*
|
import com.michatec.store.utility.extension.resources.TypefaceExtra
|
||||||
import com.michatec.store.utility.extension.text.*
|
import com.michatec.store.utility.extension.resources.clear
|
||||||
|
import com.michatec.store.utility.extension.resources.getColorFromAttr
|
||||||
|
import com.michatec.store.utility.extension.resources.getDrawableCompat
|
||||||
|
import com.michatec.store.utility.extension.resources.getDrawableFromAttr
|
||||||
|
import com.michatec.store.utility.extension.resources.inflate
|
||||||
|
import com.michatec.store.utility.extension.resources.load
|
||||||
|
import com.michatec.store.utility.extension.resources.setTextSizeScaled
|
||||||
|
import com.michatec.store.utility.extension.resources.sizeScaled
|
||||||
|
import com.michatec.store.utility.extension.text.formatSize
|
||||||
|
import com.michatec.store.utility.extension.text.nullIfEmpty
|
||||||
import com.michatec.store.widget.ClickableMovementMethod
|
import com.michatec.store.widget.ClickableMovementMethod
|
||||||
import com.michatec.store.widget.DividerItemDecoration
|
import com.michatec.store.widget.DividerItemDecoration
|
||||||
import com.michatec.store.widget.StableRecyclerAdapter
|
import com.michatec.store.widget.StableRecyclerAdapter
|
||||||
import java.lang.ref.WeakReference
|
import java.lang.ref.WeakReference
|
||||||
import java.util.Locale
|
import java.util.Locale
|
||||||
import kotlin.math.*
|
import kotlin.math.roundToInt
|
||||||
import androidx.core.net.toUri
|
|
||||||
|
|
||||||
class ProductAdapter(private val callbacks: Callbacks, private val columns: Int):
|
class ProductAdapter(private val callbacks: Callbacks, private val columns: Int):
|
||||||
StableRecyclerAdapter<ProductAdapter.ViewType, RecyclerView.ViewHolder>() {
|
StableRecyclerAdapter<ProductAdapter.ViewType, RecyclerView.ViewHolder>() {
|
||||||
|
|||||||
@@ -95,7 +95,8 @@
|
|||||||
android:fontFamily="monospace"
|
android:fontFamily="monospace"
|
||||||
android:textSize="16sp"
|
android:textSize="16sp"
|
||||||
android:inputType="textNoSuggestions|textMultiLine"
|
android:inputType="textNoSuggestions|textMultiLine"
|
||||||
tools:ignore="Autofill,LabelFor,Speakable" />
|
android:hint="@string/fingerprint"
|
||||||
|
tools:ignore="Autofill,LabelFor" />
|
||||||
|
|
||||||
<TextView
|
<TextView
|
||||||
android:id="@+id/fingerprint_error"
|
android:id="@+id/fingerprint_error"
|
||||||
|
|||||||
Reference in New Issue
Block a user