Initaler Commit
This commit is contained in:
BIN
.gradle/4.4.1/fileChanges/last-build.bin
Normal file
BIN
.gradle/4.4.1/fileChanges/last-build.bin
Normal file
Binary file not shown.
BIN
.gradle/4.4.1/fileHashes/fileHashes.bin
Normal file
BIN
.gradle/4.4.1/fileHashes/fileHashes.bin
Normal file
Binary file not shown.
BIN
.gradle/4.4.1/fileHashes/fileHashes.lock
Normal file
BIN
.gradle/4.4.1/fileHashes/fileHashes.lock
Normal file
Binary file not shown.
BIN
.gradle/9.0-milestone-1/checksums/checksums.lock
Normal file
BIN
.gradle/9.0-milestone-1/checksums/checksums.lock
Normal file
Binary file not shown.
BIN
.gradle/9.0-milestone-1/checksums/md5-checksums.bin
Normal file
BIN
.gradle/9.0-milestone-1/checksums/md5-checksums.bin
Normal file
Binary file not shown.
BIN
.gradle/9.0-milestone-1/checksums/sha1-checksums.bin
Normal file
BIN
.gradle/9.0-milestone-1/checksums/sha1-checksums.bin
Normal file
Binary file not shown.
BIN
.gradle/9.0-milestone-1/executionHistory/executionHistory.bin
Normal file
BIN
.gradle/9.0-milestone-1/executionHistory/executionHistory.bin
Normal file
Binary file not shown.
BIN
.gradle/9.0-milestone-1/executionHistory/executionHistory.lock
Normal file
BIN
.gradle/9.0-milestone-1/executionHistory/executionHistory.lock
Normal file
Binary file not shown.
BIN
.gradle/9.0-milestone-1/fileChanges/last-build.bin
Normal file
BIN
.gradle/9.0-milestone-1/fileChanges/last-build.bin
Normal file
Binary file not shown.
BIN
.gradle/9.0-milestone-1/fileHashes/fileHashes.bin
Normal file
BIN
.gradle/9.0-milestone-1/fileHashes/fileHashes.bin
Normal file
Binary file not shown.
BIN
.gradle/9.0-milestone-1/fileHashes/fileHashes.lock
Normal file
BIN
.gradle/9.0-milestone-1/fileHashes/fileHashes.lock
Normal file
Binary file not shown.
BIN
.gradle/9.0-milestone-1/fileHashes/resourceHashesCache.bin
Normal file
BIN
.gradle/9.0-milestone-1/fileHashes/resourceHashesCache.bin
Normal file
Binary file not shown.
0
.gradle/9.0-milestone-1/gc.properties
Normal file
0
.gradle/9.0-milestone-1/gc.properties
Normal file
BIN
.gradle/buildOutputCleanup/buildOutputCleanup.lock
Normal file
BIN
.gradle/buildOutputCleanup/buildOutputCleanup.lock
Normal file
Binary file not shown.
2
.gradle/buildOutputCleanup/cache.properties
Normal file
2
.gradle/buildOutputCleanup/cache.properties
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
#Mon Apr 20 16:26:14 CEST 2026
|
||||||
|
gradle.version=9.0-milestone-1
|
||||||
BIN
.gradle/buildOutputCleanup/outputFiles.bin
Normal file
BIN
.gradle/buildOutputCleanup/outputFiles.bin
Normal file
Binary file not shown.
2
.gradle/config.properties
Normal file
2
.gradle/config.properties
Normal file
@@ -0,0 +1,2 @@
|
|||||||
|
#Mon Apr 20 16:26:08 CEST 2026
|
||||||
|
java.home=/opt/android-studio-2025.2.3/android-studio/jbr
|
||||||
BIN
.gradle/file-system.probe
Normal file
BIN
.gradle/file-system.probe
Normal file
Binary file not shown.
0
.gradle/vcs-1/gc.properties
Normal file
0
.gradle/vcs-1/gc.properties
Normal file
3
.idea/.gitignore
generated
vendored
Normal file
3
.idea/.gitignore
generated
vendored
Normal file
@@ -0,0 +1,3 @@
|
|||||||
|
# Default ignored files
|
||||||
|
/shelf/
|
||||||
|
/workspace.xml
|
||||||
6
.idea/AndroidProjectSystem.xml
generated
Normal file
6
.idea/AndroidProjectSystem.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="AndroidProjectSystem">
|
||||||
|
<option name="providerId" value="com.android.tools.idea.GradleProjectSystem" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
1670
.idea/caches/deviceStreaming.xml
generated
Normal file
1670
.idea/caches/deviceStreaming.xml
generated
Normal file
File diff suppressed because it is too large
Load Diff
6
.idea/compiler.xml
generated
Normal file
6
.idea/compiler.xml
generated
Normal file
@@ -0,0 +1,6 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="CompilerConfiguration">
|
||||||
|
<bytecodeTargetLevel target="21" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
10
.idea/deploymentTargetSelector.xml
generated
Normal file
10
.idea/deploymentTargetSelector.xml
generated
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="deploymentTargetSelector">
|
||||||
|
<selectionStates>
|
||||||
|
<SelectionState runConfigName="app">
|
||||||
|
<option name="selectionMode" value="DROPDOWN" />
|
||||||
|
</SelectionState>
|
||||||
|
</selectionStates>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
19
.idea/gradle.xml
generated
Normal file
19
.idea/gradle.xml
generated
Normal file
@@ -0,0 +1,19 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="GradleMigrationSettings" migrationVersion="1" />
|
||||||
|
<component name="GradleSettings">
|
||||||
|
<option name="linkedExternalProjectsSettings">
|
||||||
|
<GradleProjectSettings>
|
||||||
|
<option name="testRunner" value="CHOOSE_PER_TEST" />
|
||||||
|
<option name="externalProjectPath" value="$PROJECT_DIR$" />
|
||||||
|
<option name="gradleJvm" value="#GRADLE_LOCAL_JAVA_HOME" />
|
||||||
|
<option name="modules">
|
||||||
|
<set>
|
||||||
|
<option value="$PROJECT_DIR$" />
|
||||||
|
<option value="$PROJECT_DIR$/app" />
|
||||||
|
</set>
|
||||||
|
</option>
|
||||||
|
</GradleProjectSettings>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
10
.idea/migrations.xml
generated
Normal file
10
.idea/migrations.xml
generated
Normal file
@@ -0,0 +1,10 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="ProjectMigrations">
|
||||||
|
<option name="MigrateToGradleLocalJavaHome">
|
||||||
|
<set>
|
||||||
|
<option value="$PROJECT_DIR$" />
|
||||||
|
</set>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
9
.idea/misc.xml
generated
Normal file
9
.idea/misc.xml
generated
Normal file
@@ -0,0 +1,9 @@
|
|||||||
|
<project version="4">
|
||||||
|
<component name="ExternalStorageConfigurationManager" enabled="true" />
|
||||||
|
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" default="true" project-jdk-name="jbr-21" project-jdk-type="JavaSDK">
|
||||||
|
<output url="file://$PROJECT_DIR$/build/classes" />
|
||||||
|
</component>
|
||||||
|
<component name="ProjectType">
|
||||||
|
<option name="id" value="Android" />
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
17
.idea/runConfigurations.xml
generated
Normal file
17
.idea/runConfigurations.xml
generated
Normal file
@@ -0,0 +1,17 @@
|
|||||||
|
<?xml version="1.0" encoding="UTF-8"?>
|
||||||
|
<project version="4">
|
||||||
|
<component name="RunConfigurationProducerService">
|
||||||
|
<option name="ignoredProducers">
|
||||||
|
<set>
|
||||||
|
<option value="com.intellij.execution.junit.AbstractAllInDirectoryConfigurationProducer" />
|
||||||
|
<option value="com.intellij.execution.junit.AllInPackageConfigurationProducer" />
|
||||||
|
<option value="com.intellij.execution.junit.PatternConfigurationProducer" />
|
||||||
|
<option value="com.intellij.execution.junit.TestInClassConfigurationProducer" />
|
||||||
|
<option value="com.intellij.execution.junit.UniqueIdConfigurationProducer" />
|
||||||
|
<option value="com.intellij.execution.junit.testDiscovery.JUnitTestDiscoveryConfigurationProducer" />
|
||||||
|
<option value="org.jetbrains.kotlin.idea.junit.KotlinJUnitRunConfigurationProducer" />
|
||||||
|
<option value="org.jetbrains.kotlin.idea.junit.KotlinPatternConfigurationProducer" />
|
||||||
|
</set>
|
||||||
|
</option>
|
||||||
|
</component>
|
||||||
|
</project>
|
||||||
58
app/build.gradle
Normal file
58
app/build.gradle
Normal file
@@ -0,0 +1,58 @@
|
|||||||
|
plugins {
|
||||||
|
id 'com.android.application'
|
||||||
|
}
|
||||||
|
|
||||||
|
android {
|
||||||
|
namespace 'de.libredeck.android'
|
||||||
|
compileSdk 34
|
||||||
|
|
||||||
|
defaultConfig {
|
||||||
|
applicationId "de.libredeck.android"
|
||||||
|
minSdk 26
|
||||||
|
targetSdk 34
|
||||||
|
versionCode 1
|
||||||
|
versionName "0.1.0"
|
||||||
|
|
||||||
|
buildConfigField "String", "BACKEND_URL", "\"${LIBREDECK_BACKEND_URL ?: 'http://10.0.2.2:8080'}\""
|
||||||
|
}
|
||||||
|
|
||||||
|
buildTypes {
|
||||||
|
release {
|
||||||
|
minifyEnabled false
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
buildFeatures {
|
||||||
|
buildConfig true
|
||||||
|
viewBinding true
|
||||||
|
}
|
||||||
|
|
||||||
|
compileOptions {
|
||||||
|
sourceCompatibility JavaVersion.VERSION_11
|
||||||
|
targetCompatibility JavaVersion.VERSION_11
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
dependencies {
|
||||||
|
// UI
|
||||||
|
implementation 'androidx.appcompat:appcompat:1.7.0'
|
||||||
|
implementation 'com.google.android.material:material:1.12.0'
|
||||||
|
implementation 'androidx.constraintlayout:constraintlayout:2.1.4'
|
||||||
|
implementation 'androidx.recyclerview:recyclerview:1.3.2'
|
||||||
|
implementation 'androidx.swiperefreshlayout:swiperefreshlayout:1.1.0'
|
||||||
|
|
||||||
|
// Camera + QR scanning
|
||||||
|
implementation 'androidx.camera:camera-core:1.3.3'
|
||||||
|
implementation 'androidx.camera:camera-camera2:1.3.3'
|
||||||
|
implementation 'androidx.camera:camera-lifecycle:1.3.3'
|
||||||
|
implementation 'androidx.camera:camera-view:1.3.3'
|
||||||
|
implementation 'com.google.mlkit:barcode-scanning:17.2.0'
|
||||||
|
implementation 'com.google.guava:guava:32.1.3-android'
|
||||||
|
|
||||||
|
// HTTP + JSON
|
||||||
|
implementation 'com.squareup.okhttp3:okhttp:4.12.0'
|
||||||
|
implementation 'com.google.code.gson:gson:2.10.1'
|
||||||
|
|
||||||
|
// Image loading
|
||||||
|
implementation 'com.github.bumptech.glide:glide:4.16.0'
|
||||||
|
}
|
||||||
@@ -0,0 +1,79 @@
|
|||||||
|
// Generated by view binder compiler. Do not edit!
|
||||||
|
package de.libredeck.android.databinding;
|
||||||
|
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.viewbinding.ViewBinding;
|
||||||
|
import androidx.viewbinding.ViewBindings;
|
||||||
|
import com.google.android.material.button.MaterialButton;
|
||||||
|
import de.libredeck.android.R;
|
||||||
|
import java.lang.NullPointerException;
|
||||||
|
import java.lang.Override;
|
||||||
|
import java.lang.String;
|
||||||
|
|
||||||
|
public final class ActivityDeezerAuthBinding implements ViewBinding {
|
||||||
|
@NonNull
|
||||||
|
private final LinearLayout rootView;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final MaterialButton btnCancel;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final MaterialButton btnOpenDeezerLogin;
|
||||||
|
|
||||||
|
private ActivityDeezerAuthBinding(@NonNull LinearLayout rootView,
|
||||||
|
@NonNull MaterialButton btnCancel, @NonNull MaterialButton btnOpenDeezerLogin) {
|
||||||
|
this.rootView = rootView;
|
||||||
|
this.btnCancel = btnCancel;
|
||||||
|
this.btnOpenDeezerLogin = btnOpenDeezerLogin;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public LinearLayout getRoot() {
|
||||||
|
return rootView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static ActivityDeezerAuthBinding inflate(@NonNull LayoutInflater inflater) {
|
||||||
|
return inflate(inflater, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static ActivityDeezerAuthBinding inflate(@NonNull LayoutInflater inflater,
|
||||||
|
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||||
|
View root = inflater.inflate(R.layout.activity_deezer_auth, parent, false);
|
||||||
|
if (attachToParent) {
|
||||||
|
parent.addView(root);
|
||||||
|
}
|
||||||
|
return bind(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static ActivityDeezerAuthBinding bind(@NonNull View rootView) {
|
||||||
|
// The body of this method is generated in a way you would not otherwise write.
|
||||||
|
// This is done to optimize the compiled bytecode for size and performance.
|
||||||
|
int id;
|
||||||
|
missingId: {
|
||||||
|
id = R.id.btnCancel;
|
||||||
|
MaterialButton btnCancel = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (btnCancel == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
id = R.id.btnOpenDeezerLogin;
|
||||||
|
MaterialButton btnOpenDeezerLogin = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (btnOpenDeezerLogin == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ActivityDeezerAuthBinding((LinearLayout) rootView, btnCancel, btnOpenDeezerLogin);
|
||||||
|
}
|
||||||
|
String missingId = rootView.getResources().getResourceName(id);
|
||||||
|
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,91 @@
|
|||||||
|
// Generated by view binder compiler. Do not edit!
|
||||||
|
package de.libredeck.android.databinding;
|
||||||
|
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.FrameLayout;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.viewbinding.ViewBinding;
|
||||||
|
import androidx.viewbinding.ViewBindings;
|
||||||
|
import com.google.android.material.button.MaterialButton;
|
||||||
|
import de.libredeck.android.R;
|
||||||
|
import java.lang.NullPointerException;
|
||||||
|
import java.lang.Override;
|
||||||
|
import java.lang.String;
|
||||||
|
|
||||||
|
public final class ActivityMainBinding implements ViewBinding {
|
||||||
|
@NonNull
|
||||||
|
private final FrameLayout rootView;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final MaterialButton btnStart;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final ImageView ivLogo;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final TextView tvCreateLink;
|
||||||
|
|
||||||
|
private ActivityMainBinding(@NonNull FrameLayout rootView, @NonNull MaterialButton btnStart,
|
||||||
|
@NonNull ImageView ivLogo, @NonNull TextView tvCreateLink) {
|
||||||
|
this.rootView = rootView;
|
||||||
|
this.btnStart = btnStart;
|
||||||
|
this.ivLogo = ivLogo;
|
||||||
|
this.tvCreateLink = tvCreateLink;
|
||||||
|
}
|
||||||
|
|
||||||
|
@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) {
|
||||||
|
// The body of this method is generated in a way you would not otherwise write.
|
||||||
|
// This is done to optimize the compiled bytecode for size and performance.
|
||||||
|
int id;
|
||||||
|
missingId: {
|
||||||
|
id = R.id.btnStart;
|
||||||
|
MaterialButton btnStart = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (btnStart == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
id = R.id.ivLogo;
|
||||||
|
ImageView ivLogo = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (ivLogo == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
id = R.id.tvCreateLink;
|
||||||
|
TextView tvCreateLink = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (tvCreateLink == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ActivityMainBinding((FrameLayout) rootView, btnStart, ivLogo, tvCreateLink);
|
||||||
|
}
|
||||||
|
String missingId = rootView.getResources().getResourceName(id);
|
||||||
|
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,114 @@
|
|||||||
|
// Generated by view binder compiler. Do not edit!
|
||||||
|
package de.libredeck.android.databinding;
|
||||||
|
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.FrameLayout;
|
||||||
|
import android.widget.ProgressBar;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.recyclerview.widget.RecyclerView;
|
||||||
|
import androidx.swiperefreshlayout.widget.SwipeRefreshLayout;
|
||||||
|
import androidx.viewbinding.ViewBinding;
|
||||||
|
import androidx.viewbinding.ViewBindings;
|
||||||
|
import de.libredeck.android.R;
|
||||||
|
import java.lang.NullPointerException;
|
||||||
|
import java.lang.Override;
|
||||||
|
import java.lang.String;
|
||||||
|
|
||||||
|
public final class ActivityPlaylistBinding implements ViewBinding {
|
||||||
|
@NonNull
|
||||||
|
private final FrameLayout rootView;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final ProgressBar progressBar;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final RecyclerView recyclerPlaylists;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final SwipeRefreshLayout swipeRefresh;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final TextView tvEmpty;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final TextView tvLoadingMsg;
|
||||||
|
|
||||||
|
private ActivityPlaylistBinding(@NonNull FrameLayout rootView, @NonNull ProgressBar progressBar,
|
||||||
|
@NonNull RecyclerView recyclerPlaylists, @NonNull SwipeRefreshLayout swipeRefresh,
|
||||||
|
@NonNull TextView tvEmpty, @NonNull TextView tvLoadingMsg) {
|
||||||
|
this.rootView = rootView;
|
||||||
|
this.progressBar = progressBar;
|
||||||
|
this.recyclerPlaylists = recyclerPlaylists;
|
||||||
|
this.swipeRefresh = swipeRefresh;
|
||||||
|
this.tvEmpty = tvEmpty;
|
||||||
|
this.tvLoadingMsg = tvLoadingMsg;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public FrameLayout getRoot() {
|
||||||
|
return rootView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static ActivityPlaylistBinding inflate(@NonNull LayoutInflater inflater) {
|
||||||
|
return inflate(inflater, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static ActivityPlaylistBinding inflate(@NonNull LayoutInflater inflater,
|
||||||
|
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||||
|
View root = inflater.inflate(R.layout.activity_playlist, parent, false);
|
||||||
|
if (attachToParent) {
|
||||||
|
parent.addView(root);
|
||||||
|
}
|
||||||
|
return bind(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static ActivityPlaylistBinding bind(@NonNull View rootView) {
|
||||||
|
// The body of this method is generated in a way you would not otherwise write.
|
||||||
|
// This is done to optimize the compiled bytecode for size and performance.
|
||||||
|
int id;
|
||||||
|
missingId: {
|
||||||
|
id = R.id.progressBar;
|
||||||
|
ProgressBar progressBar = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (progressBar == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
id = R.id.recyclerPlaylists;
|
||||||
|
RecyclerView recyclerPlaylists = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (recyclerPlaylists == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
id = R.id.swipeRefresh;
|
||||||
|
SwipeRefreshLayout swipeRefresh = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (swipeRefresh == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
id = R.id.tvEmpty;
|
||||||
|
TextView tvEmpty = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (tvEmpty == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
id = R.id.tvLoadingMsg;
|
||||||
|
TextView tvLoadingMsg = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (tvLoadingMsg == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ActivityPlaylistBinding((FrameLayout) rootView, progressBar, recyclerPlaylists,
|
||||||
|
swipeRefresh, tvEmpty, tvLoadingMsg);
|
||||||
|
}
|
||||||
|
String missingId = rootView.getResources().getResourceName(id);
|
||||||
|
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,113 @@
|
|||||||
|
// Generated by view binder compiler. Do not edit!
|
||||||
|
package de.libredeck.android.databinding;
|
||||||
|
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.FrameLayout;
|
||||||
|
import android.widget.LinearLayout;
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.camera.view.PreviewView;
|
||||||
|
import androidx.viewbinding.ViewBinding;
|
||||||
|
import androidx.viewbinding.ViewBindings;
|
||||||
|
import com.google.android.material.button.MaterialButton;
|
||||||
|
import de.libredeck.android.R;
|
||||||
|
import java.lang.NullPointerException;
|
||||||
|
import java.lang.Override;
|
||||||
|
import java.lang.String;
|
||||||
|
|
||||||
|
public final class ActivityScanBinding implements ViewBinding {
|
||||||
|
@NonNull
|
||||||
|
private final FrameLayout rootView;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final MaterialButton btnCancel;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final MaterialButton btnNextCard;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final LinearLayout layoutHint;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final FrameLayout overlaySuccess;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final PreviewView previewView;
|
||||||
|
|
||||||
|
private ActivityScanBinding(@NonNull FrameLayout rootView, @NonNull MaterialButton btnCancel,
|
||||||
|
@NonNull MaterialButton btnNextCard, @NonNull LinearLayout layoutHint,
|
||||||
|
@NonNull FrameLayout overlaySuccess, @NonNull PreviewView previewView) {
|
||||||
|
this.rootView = rootView;
|
||||||
|
this.btnCancel = btnCancel;
|
||||||
|
this.btnNextCard = btnNextCard;
|
||||||
|
this.layoutHint = layoutHint;
|
||||||
|
this.overlaySuccess = overlaySuccess;
|
||||||
|
this.previewView = previewView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public FrameLayout getRoot() {
|
||||||
|
return rootView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static ActivityScanBinding inflate(@NonNull LayoutInflater inflater) {
|
||||||
|
return inflate(inflater, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static ActivityScanBinding inflate(@NonNull LayoutInflater inflater,
|
||||||
|
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||||
|
View root = inflater.inflate(R.layout.activity_scan, parent, false);
|
||||||
|
if (attachToParent) {
|
||||||
|
parent.addView(root);
|
||||||
|
}
|
||||||
|
return bind(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static ActivityScanBinding bind(@NonNull View rootView) {
|
||||||
|
// The body of this method is generated in a way you would not otherwise write.
|
||||||
|
// This is done to optimize the compiled bytecode for size and performance.
|
||||||
|
int id;
|
||||||
|
missingId: {
|
||||||
|
id = R.id.btnCancel;
|
||||||
|
MaterialButton btnCancel = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (btnCancel == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
id = R.id.btnNextCard;
|
||||||
|
MaterialButton btnNextCard = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (btnNextCard == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
id = R.id.layoutHint;
|
||||||
|
LinearLayout layoutHint = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (layoutHint == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
id = R.id.overlaySuccess;
|
||||||
|
FrameLayout overlaySuccess = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (overlaySuccess == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
id = R.id.previewView;
|
||||||
|
PreviewView previewView = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (previewView == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ActivityScanBinding((FrameLayout) rootView, btnCancel, btnNextCard, layoutHint,
|
||||||
|
overlaySuccess, previewView);
|
||||||
|
}
|
||||||
|
String missingId = rootView.getResources().getResourceName(id);
|
||||||
|
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,90 @@
|
|||||||
|
// Generated by view binder compiler. Do not edit!
|
||||||
|
package de.libredeck.android.databinding;
|
||||||
|
|
||||||
|
import android.view.LayoutInflater;
|
||||||
|
import android.view.View;
|
||||||
|
import android.view.ViewGroup;
|
||||||
|
import android.widget.ImageView;
|
||||||
|
import android.widget.TextView;
|
||||||
|
import androidx.annotation.NonNull;
|
||||||
|
import androidx.annotation.Nullable;
|
||||||
|
import androidx.viewbinding.ViewBinding;
|
||||||
|
import androidx.viewbinding.ViewBindings;
|
||||||
|
import com.google.android.material.card.MaterialCardView;
|
||||||
|
import de.libredeck.android.R;
|
||||||
|
import java.lang.NullPointerException;
|
||||||
|
import java.lang.Override;
|
||||||
|
import java.lang.String;
|
||||||
|
|
||||||
|
public final class ItemPlaylistBinding implements ViewBinding {
|
||||||
|
@NonNull
|
||||||
|
private final MaterialCardView rootView;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final ImageView ivCover;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final TextView tvCount;
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public final TextView tvTitle;
|
||||||
|
|
||||||
|
private ItemPlaylistBinding(@NonNull MaterialCardView rootView, @NonNull ImageView ivCover,
|
||||||
|
@NonNull TextView tvCount, @NonNull TextView tvTitle) {
|
||||||
|
this.rootView = rootView;
|
||||||
|
this.ivCover = ivCover;
|
||||||
|
this.tvCount = tvCount;
|
||||||
|
this.tvTitle = tvTitle;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
@NonNull
|
||||||
|
public MaterialCardView getRoot() {
|
||||||
|
return rootView;
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static ItemPlaylistBinding inflate(@NonNull LayoutInflater inflater) {
|
||||||
|
return inflate(inflater, null, false);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static ItemPlaylistBinding inflate(@NonNull LayoutInflater inflater,
|
||||||
|
@Nullable ViewGroup parent, boolean attachToParent) {
|
||||||
|
View root = inflater.inflate(R.layout.item_playlist, parent, false);
|
||||||
|
if (attachToParent) {
|
||||||
|
parent.addView(root);
|
||||||
|
}
|
||||||
|
return bind(root);
|
||||||
|
}
|
||||||
|
|
||||||
|
@NonNull
|
||||||
|
public static ItemPlaylistBinding bind(@NonNull View rootView) {
|
||||||
|
// The body of this method is generated in a way you would not otherwise write.
|
||||||
|
// This is done to optimize the compiled bytecode for size and performance.
|
||||||
|
int id;
|
||||||
|
missingId: {
|
||||||
|
id = R.id.ivCover;
|
||||||
|
ImageView ivCover = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (ivCover == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
id = R.id.tvCount;
|
||||||
|
TextView tvCount = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (tvCount == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
id = R.id.tvTitle;
|
||||||
|
TextView tvTitle = ViewBindings.findChildViewById(rootView, id);
|
||||||
|
if (tvTitle == null) {
|
||||||
|
break missingId;
|
||||||
|
}
|
||||||
|
|
||||||
|
return new ItemPlaylistBinding((MaterialCardView) rootView, ivCover, tvCount, tvTitle);
|
||||||
|
}
|
||||||
|
String missingId = rootView.getResources().getResourceName(id);
|
||||||
|
throw new NullPointerException("Missing required view with ID: ".concat(missingId));
|
||||||
|
}
|
||||||
|
}
|
||||||
@@ -0,0 +1,14 @@
|
|||||||
|
/**
|
||||||
|
* Automatically generated file. DO NOT MODIFY
|
||||||
|
*/
|
||||||
|
package de.libredeck.android;
|
||||||
|
|
||||||
|
public final class BuildConfig {
|
||||||
|
public static final boolean DEBUG = Boolean.parseBoolean("true");
|
||||||
|
public static final String APPLICATION_ID = "de.libredeck.android";
|
||||||
|
public static final String BUILD_TYPE = "debug";
|
||||||
|
public static final int VERSION_CODE = 1;
|
||||||
|
public static final String VERSION_NAME = "0.1.0";
|
||||||
|
// Field from default config.
|
||||||
|
public static final String BACKEND_URL = "http://192.168.178.106:8091";
|
||||||
|
}
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
{}
|
||||||
BIN
app/build/intermediates/apk/debug/app-debug.apk
Normal file
BIN
app/build/intermediates/apk/debug/app-debug.apk
Normal file
Binary file not shown.
21
app/build/intermediates/apk/debug/output-metadata.json
Normal file
21
app/build/intermediates/apk/debug/output-metadata.json
Normal file
@@ -0,0 +1,21 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"artifactType": {
|
||||||
|
"type": "APK",
|
||||||
|
"kind": "Directory"
|
||||||
|
},
|
||||||
|
"applicationId": "de.libredeck.android",
|
||||||
|
"variantName": "debug",
|
||||||
|
"elements": [
|
||||||
|
{
|
||||||
|
"type": "SINGLE",
|
||||||
|
"filters": [],
|
||||||
|
"attributes": [],
|
||||||
|
"versionCode": 1,
|
||||||
|
"versionName": "0.1.0",
|
||||||
|
"outputFile": "app-debug.apk"
|
||||||
|
}
|
||||||
|
],
|
||||||
|
"elementType": "File",
|
||||||
|
"minSdkVersionForDexing": 26
|
||||||
|
}
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
#- File Locator -
|
||||||
|
listingFile=../../../apk/debug/output-metadata.json
|
||||||
@@ -0,0 +1,2 @@
|
|||||||
|
appMetadataVersion=1.1
|
||||||
|
androidGradlePluginVersion=8.3.2
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1,10 @@
|
|||||||
|
{
|
||||||
|
"version": 3,
|
||||||
|
"artifactType": {
|
||||||
|
"type": "COMPATIBLE_SCREEN_MANIFEST",
|
||||||
|
"kind": "Directory"
|
||||||
|
},
|
||||||
|
"applicationId": "de.libredeck.android",
|
||||||
|
"variantName": "debug",
|
||||||
|
"elements": []
|
||||||
|
}
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_deezer_auth" modulePackage="de.libredeck.android" filePath="app/src/main/res/layout/activity_deezer_auth.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout"><Targets><Target tag="layout/activity_deezer_auth_0" view="LinearLayout"><Expressions/><location startLine="1" startOffset="0" endLine="43" endOffset="14"/></Target><Target id="@+id/btnOpenDeezerLogin" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="27" startOffset="4" endLine="34" endOffset="47"/></Target><Target id="@+id/btnCancel" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="36" startOffset="4" endLine="41" endOffset="58"/></Target></Targets></Layout>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="de.libredeck.android" filePath="app/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout"><Targets><Target tag="layout/activity_main_0" view="FrameLayout"><Expressions/><location startLine="1" startOffset="0" endLine="75" endOffset="13"/></Target><Target id="@+id/ivLogo" view="ImageView"><Expressions/><location startLine="24" startOffset="8" endLine="31" endOffset="56"/></Target><Target id="@+id/btnStart" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="33" startOffset="8" endLine="40" endOffset="41"/></Target><Target id="@+id/tvCreateLink" view="TextView"><Expressions/><location startLine="62" startOffset="8" endLine="71" endOffset="37"/></Target></Targets></Layout>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_playlist" modulePackage="de.libredeck.android" filePath="app/src/main/res/layout/activity_playlist.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout"><Targets><Target tag="layout/activity_playlist_0" view="FrameLayout"><Expressions/><location startLine="1" startOffset="0" endLine="45" endOffset="13"/></Target><Target id="@+id/swipeRefresh" view="androidx.swiperefreshlayout.widget.SwipeRefreshLayout"><Expressions/><location startLine="6" startOffset="4" endLine="18" endOffset="59"/></Target><Target id="@+id/recyclerPlaylists" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="11" startOffset="8" endLine="16" endOffset="34"/></Target><Target id="@+id/tvEmpty" view="TextView"><Expressions/><location startLine="20" startOffset="4" endLine="27" endOffset="34"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="29" startOffset="4" endLine="34" endOffset="34"/></Target><Target id="@+id/tvLoadingMsg" view="TextView"><Expressions/><location startLine="36" startOffset="4" endLine="43" endOffset="34"/></Target></Targets></Layout>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_scan" modulePackage="de.libredeck.android" filePath="app/src/main/res/layout/activity_scan.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout"><Targets><Target tag="layout/activity_scan_0" view="FrameLayout"><Expressions/><location startLine="1" startOffset="0" endLine="90" endOffset="13"/></Target><Target id="@+id/previewView" view="androidx.camera.view.PreviewView"><Expressions/><location startLine="8" startOffset="4" endLine="11" endOffset="45"/></Target><Target id="@+id/layoutHint" view="LinearLayout"><Expressions/><location startLine="14" startOffset="4" endLine="49" endOffset="18"/></Target><Target id="@+id/btnCancel" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="35" startOffset="8" endLine="47" endOffset="66"/></Target><Target id="@+id/overlaySuccess" view="FrameLayout"><Expressions/><location startLine="52" startOffset="4" endLine="88" endOffset="17"/></Target><Target id="@+id/btnNextCard" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="76" startOffset="12" endLine="84" endOffset="41"/></Target></Targets></Layout>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="item_playlist" modulePackage="de.libredeck.android" filePath="app/src/main/res/layout/item_playlist.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="com.google.android.material.card.MaterialCardView"><Targets><Target tag="layout/item_playlist_0" view="com.google.android.material.card.MaterialCardView"><Expressions/><location startLine="1" startOffset="0" endLine="61" endOffset="51"/></Target><Target id="@+id/ivCover" view="ImageView"><Expressions/><location startLine="19" startOffset="8" endLine="24" endOffset="43"/></Target><Target id="@+id/tvTitle" view="TextView"><Expressions/><location startLine="34" startOffset="12" endLine="42" endOffset="40"/></Target><Target id="@+id/tvCount" view="TextView"><Expressions/><location startLine="44" startOffset="12" endLine="50" endOffset="47"/></Target></Targets></Layout>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_deezer_auth" modulePackage="de.libredeck.android" filePath="app/src/main/res/layout/activity_deezer_auth.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.LinearLayout"><Targets><Target tag="layout/activity_deezer_auth_0" view="LinearLayout"><Expressions/><location startLine="1" startOffset="0" endLine="43" endOffset="14"/></Target><Target id="@+id/btnOpenDeezerLogin" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="27" startOffset="4" endLine="34" endOffset="47"/></Target><Target id="@+id/btnCancel" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="36" startOffset="4" endLine="41" endOffset="58"/></Target></Targets></Layout>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_main" modulePackage="de.libredeck.android" filePath="app/src/main/res/layout/activity_main.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout"><Targets><Target tag="layout/activity_main_0" view="FrameLayout"><Expressions/><location startLine="1" startOffset="0" endLine="75" endOffset="13"/></Target><Target id="@+id/ivLogo" view="ImageView"><Expressions/><location startLine="24" startOffset="8" endLine="31" endOffset="56"/></Target><Target id="@+id/btnStart" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="33" startOffset="8" endLine="40" endOffset="41"/></Target><Target id="@+id/tvCreateLink" view="TextView"><Expressions/><location startLine="62" startOffset="8" endLine="71" endOffset="37"/></Target></Targets></Layout>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_playlist" modulePackage="de.libredeck.android" filePath="app/src/main/res/layout/activity_playlist.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout"><Targets><Target tag="layout/activity_playlist_0" view="FrameLayout"><Expressions/><location startLine="1" startOffset="0" endLine="45" endOffset="13"/></Target><Target id="@+id/swipeRefresh" view="androidx.swiperefreshlayout.widget.SwipeRefreshLayout"><Expressions/><location startLine="6" startOffset="4" endLine="18" endOffset="59"/></Target><Target id="@+id/recyclerPlaylists" view="androidx.recyclerview.widget.RecyclerView"><Expressions/><location startLine="11" startOffset="8" endLine="16" endOffset="34"/></Target><Target id="@+id/tvEmpty" view="TextView"><Expressions/><location startLine="20" startOffset="4" endLine="27" endOffset="34"/></Target><Target id="@+id/progressBar" view="ProgressBar"><Expressions/><location startLine="29" startOffset="4" endLine="34" endOffset="34"/></Target><Target id="@+id/tvLoadingMsg" view="TextView"><Expressions/><location startLine="36" startOffset="4" endLine="43" endOffset="34"/></Target></Targets></Layout>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="activity_scan" modulePackage="de.libredeck.android" filePath="app/src/main/res/layout/activity_scan.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="android.widget.FrameLayout"><Targets><Target tag="layout/activity_scan_0" view="FrameLayout"><Expressions/><location startLine="1" startOffset="0" endLine="90" endOffset="13"/></Target><Target id="@+id/previewView" view="androidx.camera.view.PreviewView"><Expressions/><location startLine="8" startOffset="4" endLine="11" endOffset="45"/></Target><Target id="@+id/layoutHint" view="LinearLayout"><Expressions/><location startLine="14" startOffset="4" endLine="49" endOffset="18"/></Target><Target id="@+id/btnCancel" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="35" startOffset="8" endLine="47" endOffset="66"/></Target><Target id="@+id/overlaySuccess" view="FrameLayout"><Expressions/><location startLine="52" startOffset="4" endLine="88" endOffset="17"/></Target><Target id="@+id/btnNextCard" view="com.google.android.material.button.MaterialButton"><Expressions/><location startLine="76" startOffset="12" endLine="84" endOffset="41"/></Target></Targets></Layout>
|
||||||
@@ -0,0 +1 @@
|
|||||||
|
<?xml version="1.0" encoding="utf-8" standalone="yes"?><Layout layout="item_playlist" modulePackage="de.libredeck.android" filePath="app/src/main/res/layout/item_playlist.xml" directory="layout" isMerge="false" isBindingData="false" rootNodeType="com.google.android.material.card.MaterialCardView"><Targets><Target tag="layout/item_playlist_0" view="com.google.android.material.card.MaterialCardView"><Expressions/><location startLine="1" startOffset="0" endLine="61" endOffset="51"/></Target><Target id="@+id/ivCover" view="ImageView"><Expressions/><location startLine="19" startOffset="8" endLine="24" endOffset="43"/></Target><Target id="@+id/tvTitle" view="TextView"><Expressions/><location startLine="34" startOffset="12" endLine="42" endOffset="40"/></Target><Target id="@+id/tvCount" view="TextView"><Expressions/><location startLine="44" startOffset="12" endLine="50" endOffset="47"/></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.
BIN
app/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex
Normal file
BIN
app/build/intermediates/dex/debug/mergeExtDexDebug/classes.dex
Normal file
Binary file not shown.
BIN
app/build/intermediates/dex/debug/mergeExtDexDebug/classes2.dex
Normal file
BIN
app/build/intermediates/dex/debug/mergeExtDexDebug/classes2.dex
Normal file
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 @@
|
|||||||
|
14
|
||||||
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user