first commit

This commit is contained in:
Stefan Hacker 2026-02-08 15:55:58 +01:00
commit 08d331d1f8
1102 changed files with 101384 additions and 0 deletions

334
README.md Normal file
View File

@ -0,0 +1,334 @@
# WireGuard TV
Ein WireGuard VPN Client speziell entwickelt für Amazon Fire TV Stick mit vollständiger D-Pad Fernbedienungs-Navigation.
## Beschreibung
WireGuard TV ermöglicht es, eine sichere VPN-Verbindung auf dem Amazon Fire TV Stick herzustellen. Die App ist vollständig für die Bedienung mit der Fire TV Fernbedienung optimiert und bietet eine intuitive Leanback-Oberfläche.
### Features
- **D-Pad Navigation** - Vollständig mit Fire TV Fernbedienung bedienbar
- **Web-Interface** - Configs per Browser vom Smartphone oder PC hochladen und verwalten
- **Datei-Import** - .conf Dateien vom lokalen Speicher importieren (per ADB übertragen)
- **Auto-Connect** - Automatische Verbindung beim Gerätestart (pro Tunnel konfigurierbar)
- **Geo-Location Anzeige** - Zeigt aktuelle öffentliche IP mit Land und Flagge an
- **Status Anzeige** - RX/TX Bytes, Verbindungsstatus in Echtzeit
- **Web-Server Autostart** - Optional Server beim Gerätestart automatisch starten
- **Passwortschutz** - Web-Interface kann mit Passwort geschützt werden
- **Kill Switch** - Internet blockieren wenn VPN getrennt (in Einstellungen)
---
## Installation
### Voraussetzungen
- Amazon Fire TV Stick (1. Generation oder neuer)
- Computer mit ADB (Android Debug Bridge)
- Beide Geräte im selben Netzwerk
### Fire TV für ADB vorbereiten
1. **Entwickleroptionen aktivieren:**
- Einstellungen > Mein Fire TV > Info
- 7x auf "Fire TV Stick" klicken bis "Du bist jetzt Entwickler" erscheint
2. **ADB aktivieren:**
- Einstellungen > Mein Fire TV > Entwickleroptionen
- "ADB-Debugging" aktivieren
- "Apps aus unbekannten Quellen" aktivieren
3. **IP-Adresse herausfinden:**
- Einstellungen > Mein Fire TV > Info > Netzwerk
- IP-Adresse notieren (z.B. 192.168.1.100)
### ADB installieren
```bash
# Debian/Ubuntu
sudo apt install adb
# Fedora
sudo dnf install android-tools
# Arch Linux
sudo pacman -S android-tools
```
### App installieren
```bash
# Mit Fire TV verbinden
adb connect 192.168.1.100:5555
# Beim ersten Mal: Auf dem TV "Erlauben" wählen und "Immer von diesem Computer erlauben" anhaken
# Verbindung prüfen
adb devices
# App installieren
adb install wireguard-tv.apk
# Oder bei Update:
adb install -r wireguard-tv.apk
```
---
## Benutzung
### WireGuard-Konfiguration hinzufügen
#### Methode 1: Web-Upload (empfohlen)
Der einfachste Weg - funktioniert mit jedem Gerät im gleichen Netzwerk:
1. In WireGuard TV App: **"Web-Upload"** wählen und Server starten
2. Die angezeigte URL (z.B. `http://192.168.1.100:8080`) im Browser öffnen
3. Im Tab **"Config hochladen"**:
- .conf Datei auswählen ODER Config-Text direkt einfügen
- Namen vergeben und hochladen
4. Der Tunnel erscheint sofort in der App
**Web-Interface Features:**
- Tunnel verwalten (Verbinden, Trennen, Löschen, Bearbeiten)
- Autostart pro Tunnel aktivieren/deaktivieren
- Geo-Location Anzeige (IP, Land, Stadt)
- Server-Einstellungen (Port, Passwort, Autostart)
#### Methode 2: Datei-Import (via ADB)
1. Config-Datei per ADB übertragen:
```bash
adb push meine-config.conf /sdcard/Download/
```
2. In WireGuard TV App: **"Datei importieren"** wählen
3. Die Datei aus der Liste auswählen
**Unterstützte Pfade:**
- `/sdcard/Download/`
- `/sdcard/WireGuard/`
- `/sdcard/wireguard/`
#### Methode 3: Manuell eingeben
1. **"Tunnel hinzufügen"** wählen
2. Alle Felder manuell ausfüllen (Private Key, Addresses, Public Key, Endpoint, etc.)
### Tunnel verbinden
- Tunnel mit D-Pad auswählen
- Enter/OK drücken
- **"Verbinden"** wählen
### Autostart aktivieren
1. Tunnel mit D-Pad auswählen und Enter drücken
2. **"Autostart beim Boot"** aktivieren
3. Der Tunnel verbindet sich automatisch beim Gerätestart
**Hinweis:** Beim ersten Aktivieren wird der Tunnel sofort verbunden, damit die VPN-Berechtigung erteilt wird (erforderlich für Autostart).
### Tastenkürzel
| Taste | Funktion |
|-------|----------|
| Enter/OK | Tunnel-Aktionen öffnen |
| Zurück | Navigation zurück |
| D-Pad | Zwischen Elementen navigieren |
---
## Web-Interface
Das integrierte Web-Interface ermöglicht die komfortable Verwaltung vom Smartphone oder PC aus.
### Server starten
1. In der App: **"Web-Upload"** > **"Server starten"**
2. URL wird angezeigt (z.B. `http://192.168.1.100:8080`)
3. URL im Browser öffnen
### Tabs
- **Tunnel verwalten** - Alle Tunnel anzeigen, verbinden, trennen, löschen, Autostart
- **Config hochladen** - Neue Konfiguration per Datei oder Text hinzufügen
- **Einstellungen** - Server-Port, Passwort, Autostart konfigurieren
### Einstellungen
- **Port** - Standard: 8080 (änderbar)
- **Passwortschutz** - Optional, schützt das Web-Interface
- **Server-Autostart** - Server automatisch beim Gerätestart starten
---
## Projekt-Struktur
```
wireguard-tv/
├── app/ # Fire TV App
│ └── src/main/
│ ├── java/.../
│ │ ├── ui/ # Activities, Fragments, Presenter
│ │ ├── vpn/ # WireGuard Tunnel Service
│ │ ├── web/ # HTTP Server & Web-Interface
│ │ ├── data/ # Repository, Settings (DataStore)
│ │ ├── model/ # Data Classes
│ │ ├── receiver/ # Boot Receiver
│ │ ├── tile/ # Quick Settings Tile
│ │ └── util/ # Hilfsklassen (IpGeoService)
│ └── res/ # Layouts, Drawables, Values
├── build.gradle # Root Build Config
└── settings.gradle # Projekt-Einstellungen
```
---
## Build (für Entwickler)
### Voraussetzungen
- Android Studio Hedgehog (2023.1.1) oder neuer
- JDK 17
- Android SDK 34
### Android Studio installieren
```bash
# Flatpak (empfohlen)
flatpak install flathub com.google.AndroidStudio
flatpak run com.google.AndroidStudio
# Oder Snap
sudo snap install android-studio --classic
```
### Bauen
**Mit Android Studio:**
1. Projekt öffnen (File > Open)
2. Gradle Sync abwarten
3. Build > Build Bundle(s) / APK(s) > Build APK(s)
**Mit Kommandozeile:**
```bash
# Debug Build
./gradlew assembleDebug
# Release Build
./gradlew assembleRelease
# APK Speicherort
ls -la app/build/outputs/apk/debug/app-debug.apk
```
---
## Debugging
### ADB Verbindung
```bash
# Verbinden
adb connect 192.168.1.100:5555
# Verbindung prüfen
adb devices
# Trennen
adb disconnect 192.168.1.100:5555
# ADB Server neu starten (bei Problemen)
adb kill-server && adb start-server
```
### Logs anzeigen
```bash
# Live Log der WireGuard TV App
adb logcat -s WireGuardTV:* AndroidRuntime:E
# Nur Crash-Logs
adb logcat -s AndroidRuntime:E
# Log in Datei speichern
adb logcat -d > debug.log
# Log leeren (vor Test)
adb logcat -c
# Boot-Logs prüfen (für Autostart-Debugging)
adb logcat -s BootReceiver:* WireGuardTV:*
```
### App neu installieren
```bash
# Deinstallieren
adb uninstall de.hackernet.wireguardtv
# Neu installieren
adb install app/build/outputs/apk/debug/app-debug.apk
```
### Häufige Probleme
**"Offline" bei `adb devices`:**
```bash
adb disconnect
adb kill-server
adb start-server
adb connect 192.168.1.100:5555
```
**App-Update schlägt fehl:**
```bash
adb uninstall de.hackernet.wireguardtv
adb install app-debug.apk
```
**VPN-Berechtigung fehlt:**
- VPN manuell einmal verbinden
- Berechtigung wird automatisch angefragt
---
## Technische Details
| Eigenschaft | Wert |
|-------------|------|
| Min SDK | 22 (Android 5.1, Fire TV Stick 1. Gen) |
| Target SDK | 34 (Android 14) |
| WireGuard Backend | wireguard-android Tunnel Library |
| UI Framework | AndroidX Leanback |
| Datenspeicherung | Jetpack DataStore |
| Web Server | Embedded HTTP Server |
| Geo-Location | ip-api.com (kostenlos) |
---
## Sicherheitshinweise
- Der Web-Server ist nur im **lokalen Netzwerk** erreichbar
- **Passwortschutz** für das Web-Interface wird empfohlen
- Der Server startet **nicht automatisch** (optional aktivierbar)
- Configs werden **verschlüsselt** im App-internen Speicher gespeichert
- HTTP-Verbindung zu ip-api.com ist explizit erlaubt (für Geo-Location)
---
## Lizenz
MIT License - siehe LICENSE Datei
---
## Autor
**HackerSoft - HACKER-NET Telekommunikation**
Website: [HACKER-NET.DE](https://hacker-net.de)

84
app/build.gradle Normal file
View File

@ -0,0 +1,84 @@
plugins {
id 'com.android.application'
id 'org.jetbrains.kotlin.android'
}
android {
namespace 'de.hackernet.wireguardtv'
compileSdk 34
defaultConfig {
applicationId "de.hackernet.wireguardtv"
minSdk 22 // Fire TV Stick 1st Gen support
targetSdk 34
versionCode 1
versionName "1.0.0"
vectorDrawables {
useSupportLibrary true
}
}
buildTypes {
release {
minifyEnabled true
proguardFiles getDefaultProguardFile('proguard-android-optimize.txt'), 'proguard-rules.pro'
}
debug {
applicationIdSuffix ".debug"
debuggable true
}
}
compileOptions {
// Core Library Desugaring für Java 8 Time APIs auf älteren Android-Versionen
coreLibraryDesugaringEnabled true
sourceCompatibility JavaVersion.VERSION_17
targetCompatibility JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = '17'
}
buildFeatures {
viewBinding true
}
lint {
disable 'MissingLeanbackLauncher'
}
}
dependencies {
// Core Library Desugaring - ermöglicht Java 8 Time APIs auf älteren Android-Versionen
coreLibraryDesugaring 'com.android.tools:desugar_jdk_libs:2.0.4'
// Kotlin
implementation "org.jetbrains.kotlin:kotlin-stdlib:$kotlin_version"
implementation 'org.jetbrains.kotlinx:kotlinx-coroutines-android:1.7.3'
// Android TV / Leanback (für D-Pad Navigation)
implementation 'androidx.leanback:leanback:1.0.0'
implementation 'androidx.leanback:leanback-preference:1.1.0-rc01'
implementation 'androidx.preference:preference-ktx:1.2.1'
// Core Android
implementation 'androidx.core:core-ktx:1.12.0'
implementation 'androidx.appcompat:appcompat:1.6.1'
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
implementation 'androidx.lifecycle:lifecycle-viewmodel-ktx:2.7.0'
implementation 'androidx.lifecycle:lifecycle-runtime-ktx:2.7.0'
// Material Design (für einige UI-Elemente)
implementation 'com.google.android.material:material:1.11.0'
// WireGuard Tunnel Library
implementation 'com.wireguard.android:tunnel:1.0.20230706'
// Gson für Config-Parsing
implementation 'com.google.code.gson:gson:2.10.1'
// DataStore für Preferences
implementation 'androidx.datastore:datastore-preferences:1.0.0'
}

View File

@ -0,0 +1,58 @@
// Generated by view binder compiler. Do not edit!
package de.hackernet.wireguardtv.databinding;
import android.view.LayoutInflater;
import android.view.View;
import android.view.ViewGroup;
import android.widget.FrameLayout;
import androidx.annotation.NonNull;
import androidx.annotation.Nullable;
import androidx.viewbinding.ViewBinding;
import de.hackernet.wireguardtv.R;
import java.lang.NullPointerException;
import java.lang.Override;
public final class ActivityMainBinding implements ViewBinding {
@NonNull
private final FrameLayout rootView;
@NonNull
public final FrameLayout mainContainer;
private ActivityMainBinding(@NonNull FrameLayout rootView, @NonNull FrameLayout mainContainer) {
this.rootView = rootView;
this.mainContainer = mainContainer;
}
@Override
@NonNull
public FrameLayout getRoot() {
return rootView;
}
@NonNull
public static ActivityMainBinding inflate(@NonNull LayoutInflater inflater) {
return inflate(inflater, null, false);
}
@NonNull
public static ActivityMainBinding inflate(@NonNull LayoutInflater inflater,
@Nullable ViewGroup parent, boolean attachToParent) {
View root = inflater.inflate(R.layout.activity_main, parent, false);
if (attachToParent) {
parent.addView(root);
}
return bind(root);
}
@NonNull
public static ActivityMainBinding bind(@NonNull View rootView) {
if (rootView == null) {
throw new NullPointerException("rootView");
}
FrameLayout mainContainer = (FrameLayout) rootView;
return new ActivityMainBinding((FrameLayout) rootView, mainContainer);
}
}

View File

@ -0,0 +1,2 @@
#- File Locator -
listingFile=../../../../outputs/apk/debug/output-metadata.json

View File

@ -0,0 +1,2 @@
appMetadataVersion=1.1
androidGradlePluginVersion=8.13.2

View File

@ -0,0 +1,10 @@
{
"version": 3,
"artifactType": {
"type": "COMPATIBLE_SCREEN_MANIFEST",
"kind": "Directory"
},
"applicationId": "de.hackernet.wireguardtv.debug",
"variantName": "debug",
"elements": []
}

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="de.hackernet.wireguardtv" filePath="app/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout" rootNodeViewId="@+id/main_container"><Targets><Target id="@+id/main_container" tag="layout/activity_main_0" view="FrameLayout"><Expressions/><location startLine="1" startOffset="0" endLine="5" endOffset="49"/></Target></Targets></Layout>

View File

@ -0,0 +1 @@
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="de.hackernet.wireguardtv" filePath="app/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout" rootNodeViewId="@+id/main_container"><Targets><Target id="@+id/main_container" tag="layout/activity_main_0" view="FrameLayout"><Expressions/><location startLine="1" startOffset="0" endLine="5" endOffset="49"/></Target></Targets></Layout>

View File

@ -0,0 +1 @@
[{"key":"androidx/cursoradapter/widget/CursorAdapter$ChangeObserver.class","name":"androidx/cursoradapter/widget/CursorAdapter$ChangeObserver.class","size":906,"crc":1405634495},{"key":"androidx/cursoradapter/widget/CursorAdapter$MyDataSetObserver.class","name":"androidx/cursoradapter/widget/CursorAdapter$MyDataSetObserver.class","size":896,"crc":-2032476167},{"key":"androidx/cursoradapter/widget/CursorAdapter.class","name":"androidx/cursoradapter/widget/CursorAdapter.class","size":7375,"crc":-1905321896},{"key":"androidx/cursoradapter/widget/CursorFilter$CursorFilterClient.class","name":"androidx/cursoradapter/widget/CursorFilter$CursorFilterClient.class","size":529,"crc":75882292},{"key":"androidx/cursoradapter/widget/CursorFilter.class","name":"androidx/cursoradapter/widget/CursorFilter.class","size":1945,"crc":-1461045051},{"key":"androidx/cursoradapter/widget/ResourceCursorAdapter.class","name":"androidx/cursoradapter/widget/ResourceCursorAdapter.class","size":2230,"crc":-600492707},{"key":"androidx/cursoradapter/widget/SimpleCursorAdapter$CursorToStringConverter.class","name":"androidx/cursoradapter/widget/SimpleCursorAdapter$CursorToStringConverter.class","size":365,"crc":-1150005494},{"key":"androidx/cursoradapter/widget/SimpleCursorAdapter$ViewBinder.class","name":"androidx/cursoradapter/widget/SimpleCursorAdapter$ViewBinder.class","size":333,"crc":-681646708},{"key":"androidx/cursoradapter/widget/SimpleCursorAdapter.class","name":"androidx/cursoradapter/widget/SimpleCursorAdapter.class","size":6154,"crc":1577064075},{"key":"META-INF/androidx.cursoradapter_cursoradapter.version","name":"META-INF/androidx.cursoradapter_cursoradapter.version","size":6,"crc":-42031000}]

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"key":"androidx/viewbinding/ViewBinding.class","name":"androidx/viewbinding/ViewBinding.class","size":240,"crc":-1218689533},{"key":"androidx/viewbinding/ViewBindings.class","name":"androidx/viewbinding/ViewBindings.class","size":1150,"crc":2001315322},{"key":"META-INF/androidx.databinding_viewbinding.version","name":"META-INF/androidx.databinding_viewbinding.version","size":6,"crc":-1972360793}]

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"key":"androidx/startup/AppInitializer.class","name":"androidx/startup/AppInitializer.class","size":7553,"crc":870624420},{"key":"androidx/startup/InitializationProvider.class","name":"androidx/startup/InitializationProvider.class","size":2530,"crc":-159478496},{"key":"androidx/startup/Initializer.class","name":"androidx/startup/Initializer.class","size":555,"crc":-1348991370},{"key":"androidx/startup/StartupException.class","name":"androidx/startup/StartupException.class","size":1051,"crc":-464023827},{"key":"androidx/startup/StartupLogger.class","name":"androidx/startup/StartupLogger.class","size":1324,"crc":1793103804},{"key":"META-INF/androidx.startup_startup-runtime.version","name":"META-INF/androidx.startup_startup-runtime.version","size":6,"crc":1557790284}]

View File

@ -0,0 +1 @@
[{"key":"META-INF/MANIFEST.MF","name":"META-INF/MANIFEST.MF","size":25,"crc":-301826126},{"key":"androidx/resourceinspection/annotation/AppCompatShadowedAttributes.class","name":"androidx/resourceinspection/annotation/AppCompatShadowedAttributes.class","size":711,"crc":822098700},{"key":"androidx/resourceinspection/annotation/Attribute$IntMap.class","name":"androidx/resourceinspection/annotation/Attribute$IntMap.class","size":634,"crc":-603883222},{"key":"androidx/resourceinspection/annotation/Attribute.class","name":"androidx/resourceinspection/annotation/Attribute.class","size":740,"crc":526427867}]

View File

@ -0,0 +1 @@
[{"key":"androidx/coordinatorlayout/widget/CoordinatorLayout$1.class","name":"androidx/coordinatorlayout/widget/CoordinatorLayout$1.class","size":1094,"crc":112983488},{"key":"androidx/coordinatorlayout/widget/CoordinatorLayout$AttachedBehavior.class","name":"androidx/coordinatorlayout/widget/CoordinatorLayout$AttachedBehavior.class","size":521,"crc":-1847348172},{"key":"androidx/coordinatorlayout/widget/CoordinatorLayout$Behavior.class","name":"androidx/coordinatorlayout/widget/CoordinatorLayout$Behavior.class","size":13157,"crc":-1330775328},{"key":"androidx/coordinatorlayout/widget/CoordinatorLayout$DefaultBehavior.class","name":"androidx/coordinatorlayout/widget/CoordinatorLayout$DefaultBehavior.class","size":721,"crc":1136031032},{"key":"androidx/coordinatorlayout/widget/CoordinatorLayout$DispatchChangeEvent.class","name":"androidx/coordinatorlayout/widget/CoordinatorLayout$DispatchChangeEvent.class","size":703,"crc":-1900860210},{"key":"androidx/coordinatorlayout/widget/CoordinatorLayout$HierarchyChangeListener.class","name":"androidx/coordinatorlayout/widget/CoordinatorLayout$HierarchyChangeListener.class","size":1315,"crc":924420989},{"key":"androidx/coordinatorlayout/widget/CoordinatorLayout$LayoutParams.class","name":"androidx/coordinatorlayout/widget/CoordinatorLayout$LayoutParams.class","size":9629,"crc":-857044466},{"key":"androidx/coordinatorlayout/widget/CoordinatorLayout$OnPreDrawListener.class","name":"androidx/coordinatorlayout/widget/CoordinatorLayout$OnPreDrawListener.class","size":870,"crc":-1725358235},{"key":"androidx/coordinatorlayout/widget/CoordinatorLayout$SavedState$1.class","name":"androidx/coordinatorlayout/widget/CoordinatorLayout$SavedState$1.class","size":1841,"crc":-1969810477},{"key":"androidx/coordinatorlayout/widget/CoordinatorLayout$SavedState.class","name":"androidx/coordinatorlayout/widget/CoordinatorLayout$SavedState.class","size":2421,"crc":1092438139},{"key":"androidx/coordinatorlayout/widget/CoordinatorLayout$ViewElevationComparator.class","name":"androidx/coordinatorlayout/widget/CoordinatorLayout$ViewElevationComparator.class","size":1122,"crc":-1989948887},{"key":"androidx/coordinatorlayout/widget/CoordinatorLayout.class","name":"androidx/coordinatorlayout/widget/CoordinatorLayout.class","size":48687,"crc":1750044046},{"key":"androidx/coordinatorlayout/widget/DirectedAcyclicGraph.class","name":"androidx/coordinatorlayout/widget/DirectedAcyclicGraph.class","size":5474,"crc":690822012},{"key":"androidx/coordinatorlayout/widget/ViewGroupUtils.class","name":"androidx/coordinatorlayout/widget/ViewGroupUtils.class","size":2819,"crc":985246507},{"key":"META-INF/androidx.coordinatorlayout_coordinatorlayout.version","name":"META-INF/androidx.coordinatorlayout_coordinatorlayout.version","size":6,"crc":1170394893}]

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"key":"META-INF/MANIFEST.MF","name":"META-INF/MANIFEST.MF","size":227,"crc":1311854951},{"key":"META-INF/versions/9/module-info.class","name":"META-INF/versions/9/module-info.class","size":257,"crc":-1911524020}]

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"key":"androidx/print/PrintHelper$1.class","name":"androidx/print/PrintHelper$1.class","size":5554,"crc":2064385208},{"key":"androidx/print/PrintHelper$OnPrintFinishCallback.class","name":"androidx/print/PrintHelper$OnPrintFinishCallback.class","size":252,"crc":-1572330596},{"key":"androidx/print/PrintHelper$PrintBitmapAdapter.class","name":"androidx/print/PrintHelper$PrintBitmapAdapter.class","size":3314,"crc":-2003731372},{"key":"androidx/print/PrintHelper$PrintUriAdapter$1$1.class","name":"androidx/print/PrintHelper$PrintUriAdapter$1$1.class","size":1040,"crc":473137874},{"key":"androidx/print/PrintHelper$PrintUriAdapter$1.class","name":"androidx/print/PrintHelper$PrintUriAdapter$1.class","size":4759,"crc":731263047},{"key":"androidx/print/PrintHelper$PrintUriAdapter.class","name":"androidx/print/PrintHelper$PrintUriAdapter.class","size":4916,"crc":-561511300},{"key":"androidx/print/PrintHelper.class","name":"androidx/print/PrintHelper.class","size":11853,"crc":-1486131000},{"key":"META-INF/androidx.print_print.version","name":"META-INF/androidx.print_print.version","size":6,"crc":-42031000}]

View File

@ -0,0 +1 @@
[{"key":"androidx/preference/PreferenceGroupKt$children$1.class","name":"androidx/preference/PreferenceGroupKt$children$1.class","size":1443,"crc":-1357649073},{"key":"androidx/preference/PreferenceGroupKt$iterator$1.class","name":"androidx/preference/PreferenceGroupKt$iterator$1.class","size":2538,"crc":-1773202003},{"key":"androidx/preference/PreferenceGroupKt.class","name":"androidx/preference/PreferenceGroupKt.class","size":6225,"crc":423192625},{"key":"META-INF/androidx.preference_preference-ktx.version","name":"META-INF/androidx.preference_preference-ktx.version","size":6,"crc":1315721634},{"key":"META-INF/preference-ktx_release.kotlin_module","name":"META-INF/preference-ktx_release.kotlin_module","size":66,"crc":733895546}]

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"key":"androidx/datastore/preferences/PreferenceDataStoreDelegateKt$preferencesDataStore$1.class","name":"androidx/datastore/preferences/PreferenceDataStoreDelegateKt$preferencesDataStore$1.class","size":2287,"crc":1401098960},{"key":"androidx/datastore/preferences/PreferenceDataStoreDelegateKt.class","name":"androidx/datastore/preferences/PreferenceDataStoreDelegateKt.class","size":3759,"crc":786161371},{"key":"androidx/datastore/preferences/PreferenceDataStoreFile.class","name":"androidx/datastore/preferences/PreferenceDataStoreFile.class","size":1230,"crc":572682438},{"key":"androidx/datastore/preferences/PreferenceDataStoreSingletonDelegate$getValue$1$1.class","name":"androidx/datastore/preferences/PreferenceDataStoreSingletonDelegate$getValue$1$1.class","size":1998,"crc":1360981447},{"key":"androidx/datastore/preferences/PreferenceDataStoreSingletonDelegate.class","name":"androidx/datastore/preferences/PreferenceDataStoreSingletonDelegate.class","size":5430,"crc":152197451},{"key":"androidx/datastore/preferences/SharedPreferencesMigrationKt$getMigrationFunction$1.class","name":"androidx/datastore/preferences/SharedPreferencesMigrationKt$getMigrationFunction$1.class","size":8064,"crc":-969810757},{"key":"androidx/datastore/preferences/SharedPreferencesMigrationKt$getShouldRunMigration$1.class","name":"androidx/datastore/preferences/SharedPreferencesMigrationKt$getShouldRunMigration$1.class","size":6084,"crc":-1726380804},{"key":"androidx/datastore/preferences/SharedPreferencesMigrationKt.class","name":"androidx/datastore/preferences/SharedPreferencesMigrationKt.class","size":6188,"crc":-2070733349},{"key":"META-INF/androidx.datastore_datastore-preferences.version","name":"META-INF/androidx.datastore_datastore-preferences.version","size":6,"crc":-42031000},{"key":"META-INF/datastore-preferences_release.kotlin_module","name":"META-INF/datastore-preferences_release.kotlin_module","size":144,"crc":-1381965924}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"key":"androidx/emoji2/viewsintegration/EmojiEditTextHelper$HelperInternal.class","name":"androidx/emoji2/viewsintegration/EmojiEditTextHelper$HelperInternal.class","size":1603,"crc":642279076},{"key":"androidx/emoji2/viewsintegration/EmojiEditTextHelper$HelperInternal19.class","name":"androidx/emoji2/viewsintegration/EmojiEditTextHelper$HelperInternal19.class","size":3011,"crc":-326458472},{"key":"androidx/emoji2/viewsintegration/EmojiEditTextHelper.class","name":"androidx/emoji2/viewsintegration/EmojiEditTextHelper.class","size":3379,"crc":776408122},{"key":"androidx/emoji2/viewsintegration/EmojiEditableFactory.class","name":"androidx/emoji2/viewsintegration/EmojiEditableFactory.class","size":1981,"crc":303650248},{"key":"androidx/emoji2/viewsintegration/EmojiInputConnection$EmojiCompatDeleteHelper.class","name":"androidx/emoji2/viewsintegration/EmojiInputConnection$EmojiCompatDeleteHelper.class","size":1458,"crc":-1104036574},{"key":"androidx/emoji2/viewsintegration/EmojiInputConnection.class","name":"androidx/emoji2/viewsintegration/EmojiInputConnection.class","size":2635,"crc":-612744008},{"key":"androidx/emoji2/viewsintegration/EmojiInputFilter$InitCallbackImpl.class","name":"androidx/emoji2/viewsintegration/EmojiInputFilter$InitCallbackImpl.class","size":2863,"crc":623004619},{"key":"androidx/emoji2/viewsintegration/EmojiInputFilter.class","name":"androidx/emoji2/viewsintegration/EmojiInputFilter.class","size":2949,"crc":-1729388309},{"key":"androidx/emoji2/viewsintegration/EmojiKeyListener$EmojiCompatHandleKeyDownHelper.class","name":"androidx/emoji2/viewsintegration/EmojiKeyListener$EmojiCompatHandleKeyDownHelper.class","size":925,"crc":-893067449},{"key":"androidx/emoji2/viewsintegration/EmojiKeyListener.class","name":"androidx/emoji2/viewsintegration/EmojiKeyListener.class","size":2469,"crc":-257167806},{"key":"androidx/emoji2/viewsintegration/EmojiTextViewHelper$HelperInternal.class","name":"androidx/emoji2/viewsintegration/EmojiTextViewHelper$HelperInternal.class","size":1458,"crc":-1666058903},{"key":"androidx/emoji2/viewsintegration/EmojiTextViewHelper$HelperInternal19.class","name":"androidx/emoji2/viewsintegration/EmojiTextViewHelper$HelperInternal19.class","size":5001,"crc":-1579396694},{"key":"androidx/emoji2/viewsintegration/EmojiTextViewHelper$SkippingHelper19.class","name":"androidx/emoji2/viewsintegration/EmojiTextViewHelper$SkippingHelper19.class","size":2417,"crc":-1490565534},{"key":"androidx/emoji2/viewsintegration/EmojiTextViewHelper.class","name":"androidx/emoji2/viewsintegration/EmojiTextViewHelper.class","size":2547,"crc":1654964895},{"key":"androidx/emoji2/viewsintegration/EmojiTextWatcher$InitCallbackImpl.class","name":"androidx/emoji2/viewsintegration/EmojiTextWatcher$InitCallbackImpl.class","size":1256,"crc":1061973902},{"key":"androidx/emoji2/viewsintegration/EmojiTextWatcher.class","name":"androidx/emoji2/viewsintegration/EmojiTextWatcher.class","size":4275,"crc":480198321},{"key":"androidx/emoji2/viewsintegration/EmojiTransformationMethod.class","name":"androidx/emoji2/viewsintegration/EmojiTransformationMethod.class","size":2167,"crc":1481951817},{"key":"META-INF/androidx.emoji2_emoji2-views-helper.version","name":"META-INF/androidx.emoji2_emoji2-views-helper.version","size":6,"crc":1467441379}]

View File

@ -0,0 +1 @@
[{"key":"androidx/versionedparcelable/CustomVersionedParcelable.class","name":"androidx/versionedparcelable/CustomVersionedParcelable.class","size":915,"crc":-363159068},{"key":"androidx/versionedparcelable/NonParcelField.class","name":"androidx/versionedparcelable/NonParcelField.class","size":676,"crc":1361393714},{"key":"androidx/versionedparcelable/ParcelField.class","name":"androidx/versionedparcelable/ParcelField.class","size":762,"crc":-355164638},{"key":"androidx/versionedparcelable/ParcelImpl$1.class","name":"androidx/versionedparcelable/ParcelImpl$1.class","size":1191,"crc":-60532325},{"key":"androidx/versionedparcelable/ParcelImpl.class","name":"androidx/versionedparcelable/ParcelImpl.class","size":1979,"crc":1919067054},{"key":"androidx/versionedparcelable/ParcelUtils.class","name":"androidx/versionedparcelable/ParcelUtils.class","size":5523,"crc":-1129855369},{"key":"androidx/versionedparcelable/VersionedParcel$1.class","name":"androidx/versionedparcelable/VersionedParcel$1.class","size":1546,"crc":-1038307129},{"key":"androidx/versionedparcelable/VersionedParcel$ParcelException.class","name":"androidx/versionedparcelable/VersionedParcel$ParcelException.class","size":538,"crc":1830934000},{"key":"androidx/versionedparcelable/VersionedParcel.class","name":"androidx/versionedparcelable/VersionedParcel.class","size":29325,"crc":142272959},{"key":"androidx/versionedparcelable/VersionedParcelParcel.class","name":"androidx/versionedparcelable/VersionedParcelParcel.class","size":7429,"crc":-328586236},{"key":"androidx/versionedparcelable/VersionedParcelStream$1.class","name":"androidx/versionedparcelable/VersionedParcelStream$1.class","size":1613,"crc":1775874054},{"key":"androidx/versionedparcelable/VersionedParcelStream$FieldBuffer.class","name":"androidx/versionedparcelable/VersionedParcelStream$FieldBuffer.class","size":1288,"crc":1505456534},{"key":"androidx/versionedparcelable/VersionedParcelStream.class","name":"androidx/versionedparcelable/VersionedParcelStream.class","size":13823,"crc":-1859752855},{"key":"androidx/versionedparcelable/VersionedParcelable.class","name":"androidx/versionedparcelable/VersionedParcelable.class","size":148,"crc":752656910},{"key":"androidx/versionedparcelable/VersionedParcelize.class","name":"androidx/versionedparcelable/VersionedParcelize.class","size":964,"crc":886842821},{"key":"META-INF/androidx.versionedparcelable_versionedparcelable.version","name":"META-INF/androidx.versionedparcelable_versionedparcelable.version","size":6,"crc":1557790284}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"key":"androidx/activity/ActivityViewModelLazyKt$viewModels$1.class","name":"androidx/activity/ActivityViewModelLazyKt$viewModels$1.class","size":1931,"crc":-1640808297},{"key":"androidx/activity/ActivityViewModelLazyKt$viewModels$2.class","name":"androidx/activity/ActivityViewModelLazyKt$viewModels$2.class","size":1977,"crc":-1225768483},{"key":"androidx/activity/ActivityViewModelLazyKt$viewModels$3.class","name":"androidx/activity/ActivityViewModelLazyKt$viewModels$3.class","size":1963,"crc":460228250},{"key":"androidx/activity/ActivityViewModelLazyKt$viewModels$4.class","name":"androidx/activity/ActivityViewModelLazyKt$viewModels$4.class","size":2482,"crc":-542943736},{"key":"androidx/activity/ActivityViewModelLazyKt$viewModels$factoryPromise$1.class","name":"androidx/activity/ActivityViewModelLazyKt$viewModels$factoryPromise$1.class","size":2151,"crc":-318782002},{"key":"androidx/activity/ActivityViewModelLazyKt$viewModels$factoryPromise$2.class","name":"androidx/activity/ActivityViewModelLazyKt$viewModels$factoryPromise$2.class","size":2183,"crc":1495941665},{"key":"androidx/activity/ActivityViewModelLazyKt.class","name":"androidx/activity/ActivityViewModelLazyKt.class","size":4266,"crc":-1420144971},{"key":"androidx/activity/Api19Impl.class","name":"androidx/activity/Api19Impl.class","size":1021,"crc":-1649969737},{"key":"androidx/activity/Api26Impl.class","name":"androidx/activity/Api26Impl.class","size":1528,"crc":-2107521099},{"key":"androidx/activity/PipHintTrackerKt$trackPipAnimationHintView$2.class","name":"androidx/activity/PipHintTrackerKt$trackPipAnimationHintView$2.class","size":2073,"crc":-1500449956},{"key":"androidx/activity/PipHintTrackerKt$trackPipAnimationHintView$flow$1$1.class","name":"androidx/activity/PipHintTrackerKt$trackPipAnimationHintView$flow$1$1.class","size":2639,"crc":-292907574},{"key":"androidx/activity/PipHintTrackerKt$trackPipAnimationHintView$flow$1$attachStateChangeListener$1.class","name":"androidx/activity/PipHintTrackerKt$trackPipAnimationHintView$flow$1$attachStateChangeListener$1.class","size":3072,"crc":603466455},{"key":"androidx/activity/PipHintTrackerKt$trackPipAnimationHintView$flow$1.class","name":"androidx/activity/PipHintTrackerKt$trackPipAnimationHintView$flow$1.class","size":7119,"crc":1481922311},{"key":"androidx/activity/PipHintTrackerKt.class","name":"androidx/activity/PipHintTrackerKt.class","size":2709,"crc":1409474831},{"key":"androidx/activity/result/ActivityResultCallerKt.class","name":"androidx/activity/result/ActivityResultCallerKt.class","size":4225,"crc":-501355442},{"key":"androidx/activity/result/ActivityResultCallerLauncher$resultContract$2$1.class","name":"androidx/activity/result/ActivityResultCallerLauncher$resultContract$2$1.class","size":2603,"crc":-538903450},{"key":"androidx/activity/result/ActivityResultCallerLauncher$resultContract$2.class","name":"androidx/activity/result/ActivityResultCallerLauncher$resultContract$2.class","size":1931,"crc":-2145364518},{"key":"androidx/activity/result/ActivityResultCallerLauncher.class","name":"androidx/activity/result/ActivityResultCallerLauncher.class","size":4006,"crc":-1175388349},{"key":"androidx/activity/result/ActivityResultKt.class","name":"androidx/activity/result/ActivityResultKt.class","size":1120,"crc":-1039745402},{"key":"androidx/activity/result/ActivityResultLauncherKt.class","name":"androidx/activity/result/ActivityResultLauncherKt.class","size":1891,"crc":2108970990},{"key":"META-INF/activity-ktx_release.kotlin_module","name":"META-INF/activity-ktx_release.kotlin_module","size":184,"crc":164021924},{"key":"META-INF/androidx.activity_activity-ktx.version","name":"META-INF/androidx.activity_activity-ktx.version","size":6,"crc":952795271}]

View File

@ -0,0 +1 @@
[{"key":"androidx/lifecycle/EmptyActivityLifecycleCallbacks.class","name":"androidx/lifecycle/EmptyActivityLifecycleCallbacks.class","size":2174,"crc":1049011320},{"key":"androidx/lifecycle/LifecycleDispatcher$DispatcherActivityCallback.class","name":"androidx/lifecycle/LifecycleDispatcher$DispatcherActivityCallback.class","size":1652,"crc":-1537609255},{"key":"androidx/lifecycle/LifecycleDispatcher.class","name":"androidx/lifecycle/LifecycleDispatcher.class","size":1965,"crc":421789579},{"key":"androidx/lifecycle/ProcessLifecycleInitializer.class","name":"androidx/lifecycle/ProcessLifecycleInitializer.class","size":3096,"crc":-701048456},{"key":"androidx/lifecycle/ProcessLifecycleOwner$Api29Impl.class","name":"androidx/lifecycle/ProcessLifecycleOwner$Api29Impl.class","size":1738,"crc":-791074226},{"key":"androidx/lifecycle/ProcessLifecycleOwner$Companion.class","name":"androidx/lifecycle/ProcessLifecycleOwner$Companion.class","size":2032,"crc":-1735913724},{"key":"androidx/lifecycle/ProcessLifecycleOwner$attach$1$onActivityPreCreated$1.class","name":"androidx/lifecycle/ProcessLifecycleOwner$attach$1$onActivityPreCreated$1.class","size":1753,"crc":-1275939554},{"key":"androidx/lifecycle/ProcessLifecycleOwner$attach$1.class","name":"androidx/lifecycle/ProcessLifecycleOwner$attach$1.class","size":3398,"crc":-548343892},{"key":"androidx/lifecycle/ProcessLifecycleOwner$initializationListener$1.class","name":"androidx/lifecycle/ProcessLifecycleOwner$initializationListener$1.class","size":1444,"crc":-265702122},{"key":"androidx/lifecycle/ProcessLifecycleOwner.class","name":"androidx/lifecycle/ProcessLifecycleOwner.class","size":6493,"crc":-1987146717},{"key":"META-INF/androidx.lifecycle_lifecycle-process.version","name":"META-INF/androidx.lifecycle_lifecycle-process.version","size":6,"crc":-432151937},{"key":"META-INF/lifecycle-process_release.kotlin_module","name":"META-INF/lifecycle-process_release.kotlin_module","size":24,"crc":1613429616}]

View File

@ -0,0 +1 @@
[{"key":"androidx/lifecycle/LifecycleRegistry$Companion.class","name":"androidx/lifecycle/LifecycleRegistry$Companion.class","size":2203,"crc":1632883834},{"key":"androidx/lifecycle/LifecycleRegistry$ObserverWithState.class","name":"androidx/lifecycle/LifecycleRegistry$ObserverWithState.class","size":3221,"crc":701840755},{"key":"androidx/lifecycle/LifecycleRegistry.class","name":"androidx/lifecycle/LifecycleRegistry.class","size":12255,"crc":-1387462428},{"key":"androidx/lifecycle/ReportFragment$ActivityInitializationListener.class","name":"androidx/lifecycle/ReportFragment$ActivityInitializationListener.class","size":672,"crc":137325557},{"key":"androidx/lifecycle/ReportFragment$Companion.class","name":"androidx/lifecycle/ReportFragment$Companion.class","size":3889,"crc":133827172},{"key":"androidx/lifecycle/ReportFragment$LifecycleCallbacks$Companion.class","name":"androidx/lifecycle/ReportFragment$LifecycleCallbacks$Companion.class","size":1657,"crc":-1632574600},{"key":"androidx/lifecycle/ReportFragment$LifecycleCallbacks.class","name":"androidx/lifecycle/ReportFragment$LifecycleCallbacks.class","size":4134,"crc":294243034},{"key":"androidx/lifecycle/ReportFragment.class","name":"androidx/lifecycle/ReportFragment.class","size":4610,"crc":1672018134},{"key":"androidx/lifecycle/ViewTreeLifecycleOwner$findViewTreeLifecycleOwner$1.class","name":"androidx/lifecycle/ViewTreeLifecycleOwner$findViewTreeLifecycleOwner$1.class","size":1786,"crc":1189804573},{"key":"androidx/lifecycle/ViewTreeLifecycleOwner$findViewTreeLifecycleOwner$2.class","name":"androidx/lifecycle/ViewTreeLifecycleOwner$findViewTreeLifecycleOwner$2.class","size":1957,"crc":1482960673},{"key":"androidx/lifecycle/ViewTreeLifecycleOwner.class","name":"androidx/lifecycle/ViewTreeLifecycleOwner.class","size":2382,"crc":-1814616098},{"key":"androidx/lifecycle/LifecycleRegistryOwner.class","name":"androidx/lifecycle/LifecycleRegistryOwner.class","size":628,"crc":-858790333},{"key":"META-INF/androidx.lifecycle_lifecycle-runtime.version","name":"META-INF/androidx.lifecycle_lifecycle-runtime.version","size":6,"crc":-432151937},{"key":"META-INF/lifecycle-runtime_release.kotlin_module","name":"META-INF/lifecycle-runtime_release.kotlin_module","size":70,"crc":1413782649}]

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"key":"androidx/vectordrawable/graphics/drawable/Animatable2Compat$AnimationCallback$1.class","name":"androidx/vectordrawable/graphics/drawable/Animatable2Compat$AnimationCallback$1.class","size":1329,"crc":1047624984},{"key":"androidx/vectordrawable/graphics/drawable/Animatable2Compat$AnimationCallback.class","name":"androidx/vectordrawable/graphics/drawable/Animatable2Compat$AnimationCallback.class","size":1465,"crc":382073971},{"key":"androidx/vectordrawable/graphics/drawable/Animatable2Compat.class","name":"androidx/vectordrawable/graphics/drawable/Animatable2Compat.class","size":716,"crc":-1065510270},{"key":"androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat$1.class","name":"androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat$1.class","size":1550,"crc":-2140672924},{"key":"androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat$2.class","name":"androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat$2.class","size":1985,"crc":-250528255},{"key":"androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat$AnimatedVectorDrawableCompatState.class","name":"androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat$AnimatedVectorDrawableCompatState.class","size":4052,"crc":367571885},{"key":"androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat$AnimatedVectorDrawableDelegateState.class","name":"androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat$AnimatedVectorDrawableDelegateState.class","size":2369,"crc":2021814207},{"key":"androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat.class","name":"androidx/vectordrawable/graphics/drawable/AnimatedVectorDrawableCompat.class","size":20291,"crc":-1291331503},{"key":"androidx/vectordrawable/graphics/drawable/AnimationUtilsCompat.class","name":"androidx/vectordrawable/graphics/drawable/AnimationUtilsCompat.class","size":5594,"crc":-579862046},{"key":"androidx/vectordrawable/graphics/drawable/AnimatorInflaterCompat$PathDataEvaluator.class","name":"androidx/vectordrawable/graphics/drawable/AnimatorInflaterCompat$PathDataEvaluator.class","size":2166,"crc":967729234},{"key":"androidx/vectordrawable/graphics/drawable/AnimatorInflaterCompat.class","name":"androidx/vectordrawable/graphics/drawable/AnimatorInflaterCompat.class","size":22066,"crc":1124597518},{"key":"androidx/vectordrawable/graphics/drawable/ArgbEvaluator.class","name":"androidx/vectordrawable/graphics/drawable/ArgbEvaluator.class","size":1960,"crc":-51335559},{"key":"androidx/vectordrawable/graphics/drawable/PathInterpolatorCompat.class","name":"androidx/vectordrawable/graphics/drawable/PathInterpolatorCompat.class","size":6340,"crc":-1801012921},{"key":"META-INF/androidx.vectordrawable_vectordrawable-animated.version","name":"META-INF/androidx.vectordrawable_vectordrawable-animated.version","size":6,"crc":1170394893}]

View File

@ -0,0 +1 @@
[{"key":"androidx/legacy/content/WakefulBroadcastReceiver.class","name":"androidx/legacy/content/WakefulBroadcastReceiver.class","size":3068,"crc":-1537912619},{"key":"META-INF/androidx.legacy_legacy-support-core-utils.version","name":"META-INF/androidx.legacy_legacy-support-core-utils.version","size":6,"crc":-42031000}]

View File

@ -0,0 +1 @@
[{"key":"META-INF/MANIFEST.MF","name":"META-INF/MANIFEST.MF","size":227,"crc":-1312916941},{"key":"META-INF/versions/9/module-info.class","name":"META-INF/versions/9/module-info.class","size":287,"crc":-1907208598}]

View File

@ -0,0 +1 @@
[{"key":"androidx/lifecycle/FlowExtKt$flowWithLifecycle$1$1$1.class","name":"androidx/lifecycle/FlowExtKt$flowWithLifecycle$1$1$1.class","size":1989,"crc":-1467494298},{"key":"androidx/lifecycle/FlowExtKt$flowWithLifecycle$1$1.class","name":"androidx/lifecycle/FlowExtKt$flowWithLifecycle$1$1.class","size":3958,"crc":689200486},{"key":"androidx/lifecycle/FlowExtKt$flowWithLifecycle$1.class","name":"androidx/lifecycle/FlowExtKt$flowWithLifecycle$1.class","size":4771,"crc":1641781120},{"key":"androidx/lifecycle/FlowExtKt.class","name":"androidx/lifecycle/FlowExtKt.class","size":1976,"crc":-1653708612},{"key":"androidx/lifecycle/LifecycleDestroyedException.class","name":"androidx/lifecycle/LifecycleDestroyedException.class","size":684,"crc":356059112},{"key":"androidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1$1$1$1.class","name":"androidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1$1$1$1.class","size":3945,"crc":473158238},{"key":"androidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1$1.class","name":"androidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1$1.class","size":6102,"crc":-399088384},{"key":"androidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1.class","name":"androidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1$1$1.class","size":4123,"crc":1322654695},{"key":"androidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1.class","name":"androidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3$1.class","size":8887,"crc":2053525950},{"key":"androidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3.class","name":"androidx/lifecycle/RepeatOnLifecycleKt$repeatOnLifecycle$3.class","size":4905,"crc":692310370},{"key":"androidx/lifecycle/RepeatOnLifecycleKt.class","name":"androidx/lifecycle/RepeatOnLifecycleKt.class","size":3616,"crc":1683623250},{"key":"androidx/lifecycle/ViewKt.class","name":"androidx/lifecycle/ViewKt.class","size":1041,"crc":-1312226925},{"key":"androidx/lifecycle/WithLifecycleStateKt$suspendWithStateAtLeastUnchecked$2$1.class","name":"androidx/lifecycle/WithLifecycleStateKt$suspendWithStateAtLeastUnchecked$2$1.class","size":1967,"crc":-2110960199},{"key":"androidx/lifecycle/WithLifecycleStateKt$suspendWithStateAtLeastUnchecked$2$2$1.class","name":"androidx/lifecycle/WithLifecycleStateKt$suspendWithStateAtLeastUnchecked$2$2$1.class","size":1770,"crc":997881927},{"key":"androidx/lifecycle/WithLifecycleStateKt$suspendWithStateAtLeastUnchecked$2$2.class","name":"androidx/lifecycle/WithLifecycleStateKt$suspendWithStateAtLeastUnchecked$2$2.class","size":3379,"crc":1419281320},{"key":"androidx/lifecycle/WithLifecycleStateKt$suspendWithStateAtLeastUnchecked$2$observer$1.class","name":"androidx/lifecycle/WithLifecycleStateKt$suspendWithStateAtLeastUnchecked$2$observer$1.class","size":3610,"crc":935790979},{"key":"androidx/lifecycle/WithLifecycleStateKt$withStateAtLeastUnchecked$2.class","name":"androidx/lifecycle/WithLifecycleStateKt$withStateAtLeastUnchecked$2.class","size":1879,"crc":-1677252600},{"key":"androidx/lifecycle/WithLifecycleStateKt.class","name":"androidx/lifecycle/WithLifecycleStateKt.class","size":16618,"crc":-454796717},{"key":"META-INF/androidx.lifecycle_lifecycle-runtime-ktx.version","name":"META-INF/androidx.lifecycle_lifecycle-runtime-ktx.version","size":6,"crc":-432151937},{"key":"META-INF/lifecycle-runtime-ktx_release.kotlin_module","name":"META-INF/lifecycle-runtime-ktx_release.kotlin_module","size":108,"crc":1172612007}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"key":"META-INF/MANIFEST.MF","name":"META-INF/MANIFEST.MF","size":25,"crc":-301826126},{"key":"androidx/arch/core/internal/FastSafeIterableMap.class","name":"androidx/arch/core/internal/FastSafeIterableMap.class","size":2907,"crc":2116950419},{"key":"androidx/arch/core/internal/SafeIterableMap$AscendingIterator.class","name":"androidx/arch/core/internal/SafeIterableMap$AscendingIterator.class","size":1775,"crc":-347866117},{"key":"androidx/arch/core/internal/SafeIterableMap$DescendingIterator.class","name":"androidx/arch/core/internal/SafeIterableMap$DescendingIterator.class","size":1779,"crc":1644932214},{"key":"androidx/arch/core/internal/SafeIterableMap$Entry.class","name":"androidx/arch/core/internal/SafeIterableMap$Entry.class","size":2378,"crc":1824924906},{"key":"androidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions.class","name":"androidx/arch/core/internal/SafeIterableMap$IteratorWithAdditions.class","size":2551,"crc":1452189535},{"key":"androidx/arch/core/internal/SafeIterableMap$ListIterator.class","name":"androidx/arch/core/internal/SafeIterableMap$ListIterator.class","size":2977,"crc":-1002357144},{"key":"androidx/arch/core/internal/SafeIterableMap$SupportRemove.class","name":"androidx/arch/core/internal/SafeIterableMap$SupportRemove.class","size":1208,"crc":1494321347},{"key":"androidx/arch/core/internal/SafeIterableMap.class","name":"androidx/arch/core/internal/SafeIterableMap.class","size":7303,"crc":1636361416},{"key":"androidx/arch/core/util/Function.class","name":"androidx/arch/core/util/Function.class","size":280,"crc":896912248}]

View File

@ -0,0 +1 @@
[{"key":"META-INF/MANIFEST.MF","name":"META-INF/MANIFEST.MF","size":108,"crc":1316044605},{"key":"com/google/common/util/concurrent/ListenableFuture.class","name":"com/google/common/util/concurrent/ListenableFuture.class","size":358,"crc":-1374437012},{"key":"META-INF/maven/com.google.guava/listenablefuture/pom.xml","name":"META-INF/maven/com.google.guava/listenablefuture/pom.xml","size":2226,"crc":65817035},{"key":"META-INF/maven/com.google.guava/listenablefuture/pom.properties","name":"META-INF/maven/com.google.guava/listenablefuture/pom.properties","size":96,"crc":1661854904}]

View File

@ -0,0 +1 @@
[{"key":"META-INF/MANIFEST.MF","name":"META-INF/MANIFEST.MF","size":25,"crc":-301826126},{"key":"androidx/collection/ArrayMap$EntrySet.class","name":"androidx/collection/ArrayMap$EntrySet.class","size":1110,"crc":803327985},{"key":"androidx/collection/ArrayMap$KeyIterator.class","name":"androidx/collection/ArrayMap$KeyIterator.class","size":1025,"crc":717267207},{"key":"androidx/collection/ArrayMap$KeySet.class","name":"androidx/collection/ArrayMap$KeySet.class","size":3549,"crc":632245165},{"key":"androidx/collection/ArrayMap$MapIterator.class","name":"androidx/collection/ArrayMap$MapIterator.class","size":3508,"crc":1327906174},{"key":"androidx/collection/ArrayMap$ValueCollection.class","name":"androidx/collection/ArrayMap$ValueCollection.class","size":3686,"crc":-1629922721},{"key":"androidx/collection/ArrayMap$ValueIterator.class","name":"androidx/collection/ArrayMap$ValueIterator.class","size":1035,"crc":-1071618976},{"key":"androidx/collection/ArrayMap.class","name":"androidx/collection/ArrayMap.class","size":5792,"crc":-782925136},{"key":"androidx/collection/ArraySet$ElementIterator.class","name":"androidx/collection/ArraySet$ElementIterator.class","size":1030,"crc":364034031},{"key":"androidx/collection/ArraySet.class","name":"androidx/collection/ArraySet.class","size":12001,"crc":-1625937529},{"key":"androidx/collection/CircularArray.class","name":"androidx/collection/CircularArray.class","size":4166,"crc":534174429},{"key":"androidx/collection/CircularIntArray.class","name":"androidx/collection/CircularIntArray.class","size":2993,"crc":153643311},{"key":"androidx/collection/ContainerHelpers.class","name":"androidx/collection/ContainerHelpers.class","size":1711,"crc":2085047059},{"key":"androidx/collection/IndexBasedArrayIterator.class","name":"androidx/collection/IndexBasedArrayIterator.class","size":1407,"crc":-1465079973},{"key":"androidx/collection/LongSparseArray.class","name":"androidx/collection/LongSparseArray.class","size":8173,"crc":974956197},{"key":"androidx/collection/LruCache.class","name":"androidx/collection/LruCache.class","size":6666,"crc":-305427089},{"key":"androidx/collection/SimpleArrayMap.class","name":"androidx/collection/SimpleArrayMap.class","size":11637,"crc":126213066},{"key":"androidx/collection/SparseArrayCompat.class","name":"androidx/collection/SparseArrayCompat.class","size":8307,"crc":1298937897}]

View File

@ -0,0 +1 @@
[{"key":"androidx/interpolator/view/animation/FastOutLinearInInterpolator.class","name":"androidx/interpolator/view/animation/FastOutLinearInInterpolator.class","size":2893,"crc":-586218538},{"key":"androidx/interpolator/view/animation/FastOutSlowInInterpolator.class","name":"androidx/interpolator/view/animation/FastOutSlowInInterpolator.class","size":2876,"crc":-1344934723},{"key":"androidx/interpolator/view/animation/LinearOutSlowInInterpolator.class","name":"androidx/interpolator/view/animation/LinearOutSlowInInterpolator.class","size":2882,"crc":-733508970},{"key":"androidx/interpolator/view/animation/LookupTableInterpolator.class","name":"androidx/interpolator/view/animation/LookupTableInterpolator.class","size":907,"crc":-26214147},{"key":"META-INF/androidx.interpolator_interpolator.version","name":"META-INF/androidx.interpolator_interpolator.version","size":6,"crc":-42031000}]

View File

@ -0,0 +1 @@
[{"key":"androidx/customview/widget/ViewDragHelper$Callback.class","name":"androidx/customview/widget/ViewDragHelper$Callback.class","size":2264,"crc":1892982479},{"key":"androidx/customview/widget/ViewDragHelper$1.class","name":"androidx/customview/widget/ViewDragHelper$1.class","size":594,"crc":1259316140},{"key":"androidx/customview/widget/ViewDragHelper.class","name":"androidx/customview/widget/ViewDragHelper.class","size":22182,"crc":-2140630276},{"key":"androidx/customview/widget/Openable.class","name":"androidx/customview/widget/Openable.class","size":184,"crc":800619496},{"key":"androidx/customview/widget/ExploreByTouchHelper$1.class","name":"androidx/customview/widget/ExploreByTouchHelper$1.class","size":1298,"crc":-163801590},{"key":"androidx/customview/widget/FocusStrategy$SequentialComparator.class","name":"androidx/customview/widget/FocusStrategy$SequentialComparator.class","size":2075,"crc":-1797636023},{"key":"androidx/customview/view/AbsSavedState.class","name":"androidx/customview/view/AbsSavedState.class","size":2578,"crc":769185284},{"key":"androidx/customview/widget/ViewDragHelper$2.class","name":"androidx/customview/widget/ViewDragHelper$2.class","size":701,"crc":-407956213},{"key":"androidx/customview/widget/ExploreByTouchHelper$2.class","name":"androidx/customview/widget/ExploreByTouchHelper$2.class","size":2100,"crc":425721916},{"key":"androidx/customview/widget/FocusStrategy$BoundsAdapter.class","name":"androidx/customview/widget/FocusStrategy$BoundsAdapter.class","size":414,"crc":284941525},{"key":"androidx/customview/widget/ExploreByTouchHelper.class","name":"androidx/customview/widget/ExploreByTouchHelper.class","size":18408,"crc":885477340},{"key":"META-INF/androidx.customview_customview.version","name":"META-INF/androidx.customview_customview.version","size":6,"crc":1170394893},{"key":"androidx/customview/widget/FocusStrategy.class","name":"androidx/customview/widget/FocusStrategy.class","size":8292,"crc":990370445},{"key":"androidx/customview/view/AbsSavedState$2.class","name":"androidx/customview/view/AbsSavedState$2.class","size":1903,"crc":1962751700},{"key":"androidx/customview/widget/ExploreByTouchHelper$MyNodeProvider.class","name":"androidx/customview/widget/ExploreByTouchHelper$MyNodeProvider.class","size":1696,"crc":589169335},{"key":"androidx/customview/view/AbsSavedState$1.class","name":"androidx/customview/view/AbsSavedState$1.class","size":448,"crc":-744205569},{"key":"androidx/customview/widget/FocusStrategy$CollectionAdapter.class","name":"androidx/customview/widget/FocusStrategy$CollectionAdapter.class","size":464,"crc":2038458753}]

File diff suppressed because one or more lines are too long

View File

@ -0,0 +1 @@
[{"key":"androidx/lifecycle/LiveDataKt$observe$wrappedObserver$1.class","name":"androidx/lifecycle/LiveDataKt$observe$wrappedObserver$1.class","size":1809,"crc":-1372319937},{"key":"androidx/lifecycle/LiveDataKt.class","name":"androidx/lifecycle/LiveDataKt.class","size":1858,"crc":201869754},{"key":"META-INF/androidx.lifecycle_lifecycle-livedata-core-ktx.version","name":"META-INF/androidx.lifecycle_lifecycle-livedata-core-ktx.version","size":6,"crc":-432151937},{"key":"META-INF/lifecycle-livedata-core-ktx_release.kotlin_module","name":"META-INF/lifecycle-livedata-core-ktx_release.kotlin_module","size":58,"crc":642441246}]

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

File diff suppressed because one or more lines are too long

Some files were not shown because too many files have changed in this diff Show More