first commit
This commit is contained in:
commit
08d331d1f8
|
|
@ -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)
|
||||
|
|
@ -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'
|
||||
}
|
||||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
|
|
@ -0,0 +1 @@
|
|||
{}
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
#- File Locator -
|
||||
listingFile=../../../../outputs/apk/debug/output-metadata.json
|
||||
|
|
@ -0,0 +1,2 @@
|
|||
appMetadataVersion=1.1
|
||||
androidGradlePluginVersion=8.13.2
|
||||
|
|
@ -0,0 +1,10 @@
|
|||
{
|
||||
"version": 3,
|
||||
"artifactType": {
|
||||
"type": "COMPATIBLE_SCREEN_MANIFEST",
|
||||
"kind": "Directory"
|
||||
},
|
||||
"applicationId": "de.hackernet.wireguardtv.debug",
|
||||
"variantName": "debug",
|
||||
"elements": []
|
||||
}
|
||||
Binary file not shown.
Binary file not shown.
|
|
@ -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>
|
||||
|
|
@ -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>
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -0,0 +1 @@
|
|||
16
|
||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
|
|
@ -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
|
|
@ -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
|
|
@ -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}]
|
||||
|
|
@ -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}]
|
||||
|
|
@ -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
|
|
@ -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
|
|
@ -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}]
|
||||
|
|
@ -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
|
|
@ -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
|
|
@ -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}]
|
||||
|
|
@ -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
|
|
@ -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}]
|
||||
|
|
@ -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}]
|
||||
|
|
@ -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
|
|
@ -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}]
|
||||
|
|
@ -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}]
|
||||
|
|
@ -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}]
|
||||
|
|
@ -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
|
|
@ -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}]
|
||||
|
|
@ -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}]
|
||||
|
|
@ -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}]
|
||||
|
|
@ -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}]
|
||||
|
|
@ -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
|
|
@ -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
Loading…
Reference in New Issue