first commit

This commit is contained in:
Justin committed 2026-04-15 12:19:48 -05:00
commit 13a51517c1
1738 files changed
+53987

No files matched your search

Binary file not shown.
Binary file not shown.
Binary file not shown.
@@ -0,0 +1 @@
›y4akcrjq7vhprlphb6sjf6zh5e/’ÇüCÄ~‚cÈ· %"$êˆclasses y,xý¤#h'²óH‰ˆsourcesh±FÊv¢�b+`¶]uQ¥
@@ -0,0 +1,931 @@
package org.gradle.accessors.dm;
import org.gradle.api.NonNullApi;
import org.gradle.api.artifacts.MinimalExternalModuleDependency;
import org.gradle.plugin.use.PluginDependency;
import org.gradle.api.artifacts.ExternalModuleDependencyBundle;
import org.gradle.api.artifacts.MutableVersionConstraint;
import org.gradle.api.provider.Provider;
import org.gradle.api.model.ObjectFactory;
import org.gradle.api.provider.ProviderFactory;
import org.gradle.api.internal.catalog.AbstractExternalDependencyFactory;
import org.gradle.api.internal.catalog.DefaultVersionCatalog;
import java.util.Map;
import org.gradle.api.internal.attributes.ImmutableAttributesFactory;
import org.gradle.api.internal.artifacts.dsl.CapabilityNotationParser;
import javax.inject.Inject;
/**
* A catalog of dependencies accessible via the {@code libs} extension.
*/
@NonNullApi
public class LibrariesForLibs extends AbstractExternalDependencyFactory {
private final AbstractExternalDependencyFactory owner = this;
private final AndroidxLibraryAccessors laccForAndroidxLibraryAccessors = new AndroidxLibraryAccessors(owner);
private final DatastoreLibraryAccessors laccForDatastoreLibraryAccessors = new DatastoreLibraryAccessors(owner);
private final HiltLibraryAccessors laccForHiltLibraryAccessors = new HiltLibraryAccessors(owner);
private final KotlinxLibraryAccessors laccForKotlinxLibraryAccessors = new KotlinxLibraryAccessors(owner);
private final OkhttpLibraryAccessors laccForOkhttpLibraryAccessors = new OkhttpLibraryAccessors(owner);
private final RetrofitLibraryAccessors laccForRetrofitLibraryAccessors = new RetrofitLibraryAccessors(owner);
private final StartupLibraryAccessors laccForStartupLibraryAccessors = new StartupLibraryAccessors(owner);
private final WorkLibraryAccessors laccForWorkLibraryAccessors = new WorkLibraryAccessors(owner);
private final VersionAccessors vaccForVersionAccessors = new VersionAccessors(providers, config);
private final BundleAccessors baccForBundleAccessors = new BundleAccessors(objects, providers, config, attributesFactory, capabilityNotationParser);
private final PluginAccessors paccForPluginAccessors = new PluginAccessors(providers, config);
@Inject
public LibrariesForLibs(DefaultVersionCatalog config, ProviderFactory providers, ObjectFactory objects, ImmutableAttributesFactory attributesFactory, CapabilityNotationParser capabilityNotationParser) {
super(config, providers, objects, attributesFactory, capabilityNotationParser);
}
/**
* Group of libraries at <b>androidx</b>
*/
public AndroidxLibraryAccessors getAndroidx() {
return laccForAndroidxLibraryAccessors;
}
/**
* Group of libraries at <b>datastore</b>
*/
public DatastoreLibraryAccessors getDatastore() {
return laccForDatastoreLibraryAccessors;
}
/**
* Group of libraries at <b>hilt</b>
*/
public HiltLibraryAccessors getHilt() {
return laccForHiltLibraryAccessors;
}
/**
* Group of libraries at <b>kotlinx</b>
*/
public KotlinxLibraryAccessors getKotlinx() {
return laccForKotlinxLibraryAccessors;
}
/**
* Group of libraries at <b>okhttp</b>
*/
public OkhttpLibraryAccessors getOkhttp() {
return laccForOkhttpLibraryAccessors;
}
/**
* Group of libraries at <b>retrofit</b>
*/
public RetrofitLibraryAccessors getRetrofit() {
return laccForRetrofitLibraryAccessors;
}
/**
* Group of libraries at <b>startup</b>
*/
public StartupLibraryAccessors getStartup() {
return laccForStartupLibraryAccessors;
}
/**
* Group of libraries at <b>work</b>
*/
public WorkLibraryAccessors getWork() {
return laccForWorkLibraryAccessors;
}
/**
* Group of versions at <b>versions</b>
*/
public VersionAccessors getVersions() {
return vaccForVersionAccessors;
}
/**
* Group of bundles at <b>bundles</b>
*/
public BundleAccessors getBundles() {
return baccForBundleAccessors;
}
/**
* Group of plugins at <b>plugins</b>
*/
public PluginAccessors getPlugins() {
return paccForPluginAccessors;
}
public static class AndroidxLibraryAccessors extends SubDependencyFactory {
private final AndroidxActivityLibraryAccessors laccForAndroidxActivityLibraryAccessors = new AndroidxActivityLibraryAccessors(owner);
private final AndroidxComposeLibraryAccessors laccForAndroidxComposeLibraryAccessors = new AndroidxComposeLibraryAccessors(owner);
private final AndroidxCoreLibraryAccessors laccForAndroidxCoreLibraryAccessors = new AndroidxCoreLibraryAccessors(owner);
private final AndroidxLifecycleLibraryAccessors laccForAndroidxLifecycleLibraryAccessors = new AndroidxLifecycleLibraryAccessors(owner);
private final AndroidxMaterialLibraryAccessors laccForAndroidxMaterialLibraryAccessors = new AndroidxMaterialLibraryAccessors(owner);
private final AndroidxNavigationLibraryAccessors laccForAndroidxNavigationLibraryAccessors = new AndroidxNavigationLibraryAccessors(owner);
private final AndroidxUiLibraryAccessors laccForAndroidxUiLibraryAccessors = new AndroidxUiLibraryAccessors(owner);
public AndroidxLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>appcompat</b> with <b>androidx.appcompat:appcompat</b> coordinates and
* with version <b>1.7.0</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getAppcompat() {
return create("androidx.appcompat");
}
/**
* Dependency provider for <b>material3</b> with <b>androidx.compose.material3:material3</b> coordinates and
* with <b>no version specified</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getMaterial3() {
return create("androidx.material3");
}
/**
* Group of libraries at <b>androidx.activity</b>
*/
public AndroidxActivityLibraryAccessors getActivity() {
return laccForAndroidxActivityLibraryAccessors;
}
/**
* Group of libraries at <b>androidx.compose</b>
*/
public AndroidxComposeLibraryAccessors getCompose() {
return laccForAndroidxComposeLibraryAccessors;
}
/**
* Group of libraries at <b>androidx.core</b>
*/
public AndroidxCoreLibraryAccessors getCore() {
return laccForAndroidxCoreLibraryAccessors;
}
/**
* Group of libraries at <b>androidx.lifecycle</b>
*/
public AndroidxLifecycleLibraryAccessors getLifecycle() {
return laccForAndroidxLifecycleLibraryAccessors;
}
/**
* Group of libraries at <b>androidx.material</b>
*/
public AndroidxMaterialLibraryAccessors getMaterial() {
return laccForAndroidxMaterialLibraryAccessors;
}
/**
* Group of libraries at <b>androidx.navigation</b>
*/
public AndroidxNavigationLibraryAccessors getNavigation() {
return laccForAndroidxNavigationLibraryAccessors;
}
/**
* Group of libraries at <b>androidx.ui</b>
*/
public AndroidxUiLibraryAccessors getUi() {
return laccForAndroidxUiLibraryAccessors;
}
}
public static class AndroidxActivityLibraryAccessors extends SubDependencyFactory {
public AndroidxActivityLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>compose</b> with <b>androidx.activity:activity-compose</b> coordinates and
* with version reference <b>activityCompose</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getCompose() {
return create("androidx.activity.compose");
}
}
public static class AndroidxComposeLibraryAccessors extends SubDependencyFactory {
public AndroidxComposeLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>bom</b> with <b>androidx.compose:compose-bom</b> coordinates and
* with version reference <b>composeBom</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getBom() {
return create("androidx.compose.bom");
}
}
public static class AndroidxCoreLibraryAccessors extends SubDependencyFactory {
public AndroidxCoreLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>ktx</b> with <b>androidx.core:core-ktx</b> coordinates and
* with version reference <b>coreKtx</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getKtx() {
return create("androidx.core.ktx");
}
}
public static class AndroidxLifecycleLibraryAccessors extends SubDependencyFactory {
private final AndroidxLifecycleRuntimeLibraryAccessors laccForAndroidxLifecycleRuntimeLibraryAccessors = new AndroidxLifecycleRuntimeLibraryAccessors(owner);
private final AndroidxLifecycleViewmodelLibraryAccessors laccForAndroidxLifecycleViewmodelLibraryAccessors = new AndroidxLifecycleViewmodelLibraryAccessors(owner);
public AndroidxLifecycleLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Group of libraries at <b>androidx.lifecycle.runtime</b>
*/
public AndroidxLifecycleRuntimeLibraryAccessors getRuntime() {
return laccForAndroidxLifecycleRuntimeLibraryAccessors;
}
/**
* Group of libraries at <b>androidx.lifecycle.viewmodel</b>
*/
public AndroidxLifecycleViewmodelLibraryAccessors getViewmodel() {
return laccForAndroidxLifecycleViewmodelLibraryAccessors;
}
}
public static class AndroidxLifecycleRuntimeLibraryAccessors extends SubDependencyFactory {
public AndroidxLifecycleRuntimeLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>compose</b> with <b>androidx.lifecycle:lifecycle-runtime-compose</b> coordinates and
* with version reference <b>lifecycleRuntimeKtx</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getCompose() {
return create("androidx.lifecycle.runtime.compose");
}
/**
* Dependency provider for <b>ktx</b> with <b>androidx.lifecycle:lifecycle-runtime-ktx</b> coordinates and
* with version reference <b>lifecycleRuntimeKtx</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getKtx() {
return create("androidx.lifecycle.runtime.ktx");
}
}
public static class AndroidxLifecycleViewmodelLibraryAccessors extends SubDependencyFactory {
public AndroidxLifecycleViewmodelLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>compose</b> with <b>androidx.lifecycle:lifecycle-viewmodel-compose</b> coordinates and
* with version reference <b>lifecycleRuntimeKtx</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getCompose() {
return create("androidx.lifecycle.viewmodel.compose");
}
}
public static class AndroidxMaterialLibraryAccessors extends SubDependencyFactory {
private final AndroidxMaterialIconsLibraryAccessors laccForAndroidxMaterialIconsLibraryAccessors = new AndroidxMaterialIconsLibraryAccessors(owner);
public AndroidxMaterialLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Group of libraries at <b>androidx.material.icons</b>
*/
public AndroidxMaterialIconsLibraryAccessors getIcons() {
return laccForAndroidxMaterialIconsLibraryAccessors;
}
}
public static class AndroidxMaterialIconsLibraryAccessors extends SubDependencyFactory {
public AndroidxMaterialIconsLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>extended</b> with <b>androidx.compose.material:material-icons-extended</b> coordinates and
* with <b>no version specified</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getExtended() {
return create("androidx.material.icons.extended");
}
}
public static class AndroidxNavigationLibraryAccessors extends SubDependencyFactory {
public AndroidxNavigationLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>compose</b> with <b>androidx.navigation:navigation-compose</b> coordinates and
* with version reference <b>navigationCompose</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getCompose() {
return create("androidx.navigation.compose");
}
}
public static class AndroidxUiLibraryAccessors extends SubDependencyFactory implements DependencyNotationSupplier {
private final AndroidxUiToolingLibraryAccessors laccForAndroidxUiToolingLibraryAccessors = new AndroidxUiToolingLibraryAccessors(owner);
public AndroidxUiLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>ui</b> with <b>androidx.compose.ui:ui</b> coordinates and
* with <b>no version specified</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> asProvider() {
return create("androidx.ui");
}
/**
* Dependency provider for <b>graphics</b> with <b>androidx.compose.ui:ui-graphics</b> coordinates and
* with <b>no version specified</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getGraphics() {
return create("androidx.ui.graphics");
}
/**
* Group of libraries at <b>androidx.ui.tooling</b>
*/
public AndroidxUiToolingLibraryAccessors getTooling() {
return laccForAndroidxUiToolingLibraryAccessors;
}
}
public static class AndroidxUiToolingLibraryAccessors extends SubDependencyFactory implements DependencyNotationSupplier {
public AndroidxUiToolingLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>tooling</b> with <b>androidx.compose.ui:ui-tooling</b> coordinates and
* with <b>no version specified</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> asProvider() {
return create("androidx.ui.tooling");
}
/**
* Dependency provider for <b>preview</b> with <b>androidx.compose.ui:ui-tooling-preview</b> coordinates and
* with <b>no version specified</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getPreview() {
return create("androidx.ui.tooling.preview");
}
}
public static class DatastoreLibraryAccessors extends SubDependencyFactory {
public DatastoreLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>preferences</b> with <b>androidx.datastore:datastore-preferences</b> coordinates and
* with version reference <b>datastorePreferences</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getPreferences() {
return create("datastore.preferences");
}
}
public static class HiltLibraryAccessors extends SubDependencyFactory {
private final HiltNavigationLibraryAccessors laccForHiltNavigationLibraryAccessors = new HiltNavigationLibraryAccessors(owner);
private final HiltWorkLibraryAccessors laccForHiltWorkLibraryAccessors = new HiltWorkLibraryAccessors(owner);
public HiltLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>android</b> with <b>com.google.dagger:hilt-android</b> coordinates and
* with version reference <b>hilt</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getAndroid() {
return create("hilt.android");
}
/**
* Dependency provider for <b>compiler</b> with <b>com.google.dagger:hilt-compiler</b> coordinates and
* with version reference <b>hilt</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getCompiler() {
return create("hilt.compiler");
}
/**
* Group of libraries at <b>hilt.navigation</b>
*/
public HiltNavigationLibraryAccessors getNavigation() {
return laccForHiltNavigationLibraryAccessors;
}
/**
* Group of libraries at <b>hilt.work</b>
*/
public HiltWorkLibraryAccessors getWork() {
return laccForHiltWorkLibraryAccessors;
}
}
public static class HiltNavigationLibraryAccessors extends SubDependencyFactory {
public HiltNavigationLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>compose</b> with <b>androidx.hilt:hilt-navigation-compose</b> coordinates and
* with version reference <b>hiltNavigationCompose</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getCompose() {
return create("hilt.navigation.compose");
}
}
public static class HiltWorkLibraryAccessors extends SubDependencyFactory implements DependencyNotationSupplier {
public HiltWorkLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>work</b> with <b>androidx.hilt:hilt-work</b> coordinates and
* with version <b>1.2.0</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> asProvider() {
return create("hilt.work");
}
/**
* Dependency provider for <b>compiler</b> with <b>androidx.hilt:hilt-compiler</b> coordinates and
* with version <b>1.2.0</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getCompiler() {
return create("hilt.work.compiler");
}
}
public static class KotlinxLibraryAccessors extends SubDependencyFactory {
private final KotlinxCoroutinesLibraryAccessors laccForKotlinxCoroutinesLibraryAccessors = new KotlinxCoroutinesLibraryAccessors(owner);
private final KotlinxSerializationLibraryAccessors laccForKotlinxSerializationLibraryAccessors = new KotlinxSerializationLibraryAccessors(owner);
public KotlinxLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Group of libraries at <b>kotlinx.coroutines</b>
*/
public KotlinxCoroutinesLibraryAccessors getCoroutines() {
return laccForKotlinxCoroutinesLibraryAccessors;
}
/**
* Group of libraries at <b>kotlinx.serialization</b>
*/
public KotlinxSerializationLibraryAccessors getSerialization() {
return laccForKotlinxSerializationLibraryAccessors;
}
}
public static class KotlinxCoroutinesLibraryAccessors extends SubDependencyFactory {
public KotlinxCoroutinesLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>android</b> with <b>org.jetbrains.kotlinx:kotlinx-coroutines-android</b> coordinates and
* with version reference <b>kotlinxCoroutines</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getAndroid() {
return create("kotlinx.coroutines.android");
}
}
public static class KotlinxSerializationLibraryAccessors extends SubDependencyFactory {
public KotlinxSerializationLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>json</b> with <b>org.jetbrains.kotlinx:kotlinx-serialization-json</b> coordinates and
* with version reference <b>kotlinxSerializationJson</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getJson() {
return create("kotlinx.serialization.json");
}
}
public static class OkhttpLibraryAccessors extends SubDependencyFactory implements DependencyNotationSupplier {
public OkhttpLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>okhttp</b> with <b>com.squareup.okhttp3:okhttp</b> coordinates and
* with version reference <b>okhttp</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> asProvider() {
return create("okhttp");
}
/**
* Dependency provider for <b>logging</b> with <b>com.squareup.okhttp3:logging-interceptor</b> coordinates and
* with version reference <b>okhttp</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getLogging() {
return create("okhttp.logging");
}
}
public static class RetrofitLibraryAccessors extends SubDependencyFactory implements DependencyNotationSupplier {
private final RetrofitKotlinxLibraryAccessors laccForRetrofitKotlinxLibraryAccessors = new RetrofitKotlinxLibraryAccessors(owner);
public RetrofitLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>retrofit</b> with <b>com.squareup.retrofit2:retrofit</b> coordinates and
* with version reference <b>retrofit</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> asProvider() {
return create("retrofit");
}
/**
* Group of libraries at <b>retrofit.kotlinx</b>
*/
public RetrofitKotlinxLibraryAccessors getKotlinx() {
return laccForRetrofitKotlinxLibraryAccessors;
}
}
public static class RetrofitKotlinxLibraryAccessors extends SubDependencyFactory {
public RetrofitKotlinxLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>serialization</b> with <b>com.jakewharton.retrofit:retrofit2-kotlinx-serialization-converter</b> coordinates and
* with version reference <b>retrofitKotlinxSerialization</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getSerialization() {
return create("retrofit.kotlinx.serialization");
}
}
public static class StartupLibraryAccessors extends SubDependencyFactory {
public StartupLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>runtime</b> with <b>androidx.startup:startup-runtime</b> coordinates and
* with version <b>1.2.0</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getRuntime() {
return create("startup.runtime");
}
}
public static class WorkLibraryAccessors extends SubDependencyFactory {
private final WorkRuntimeLibraryAccessors laccForWorkRuntimeLibraryAccessors = new WorkRuntimeLibraryAccessors(owner);
public WorkLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Group of libraries at <b>work.runtime</b>
*/
public WorkRuntimeLibraryAccessors getRuntime() {
return laccForWorkRuntimeLibraryAccessors;
}
}
public static class WorkRuntimeLibraryAccessors extends SubDependencyFactory {
public WorkRuntimeLibraryAccessors(AbstractExternalDependencyFactory owner) { super(owner); }
/**
* Dependency provider for <b>ktx</b> with <b>androidx.work:work-runtime-ktx</b> coordinates and
* with version reference <b>workRuntime</b>
* <p>
* This dependency was declared in catalog libs.versions.toml
*/
public Provider<MinimalExternalModuleDependency> getKtx() {
return create("work.runtime.ktx");
}
}
public static class VersionAccessors extends VersionFactory {
public VersionAccessors(ProviderFactory providers, DefaultVersionCatalog config) { super(providers, config); }
/**
* Version alias <b>activityCompose</b> with value <b>1.9.3</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getActivityCompose() { return getVersion("activityCompose"); }
/**
* Version alias <b>agp</b> with value <b>8.5.2</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getAgp() { return getVersion("agp"); }
/**
* Version alias <b>composeBom</b> with value <b>2024.10.01</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getComposeBom() { return getVersion("composeBom"); }
/**
* Version alias <b>coreKtx</b> with value <b>1.13.1</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getCoreKtx() { return getVersion("coreKtx"); }
/**
* Version alias <b>datastorePreferences</b> with value <b>1.1.1</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getDatastorePreferences() { return getVersion("datastorePreferences"); }
/**
* Version alias <b>hilt</b> with value <b>2.52</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getHilt() { return getVersion("hilt"); }
/**
* Version alias <b>hiltNavigationCompose</b> with value <b>1.2.0</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getHiltNavigationCompose() { return getVersion("hiltNavigationCompose"); }
/**
* Version alias <b>kotlin</b> with value <b>2.0.0</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getKotlin() { return getVersion("kotlin"); }
/**
* Version alias <b>kotlinxCoroutines</b> with value <b>1.9.0</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getKotlinxCoroutines() { return getVersion("kotlinxCoroutines"); }
/**
* Version alias <b>kotlinxSerializationJson</b> with value <b>1.7.3</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getKotlinxSerializationJson() { return getVersion("kotlinxSerializationJson"); }
/**
* Version alias <b>lifecycleRuntimeKtx</b> with value <b>2.8.7</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getLifecycleRuntimeKtx() { return getVersion("lifecycleRuntimeKtx"); }
/**
* Version alias <b>navigationCompose</b> with value <b>2.8.4</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getNavigationCompose() { return getVersion("navigationCompose"); }
/**
* Version alias <b>okhttp</b> with value <b>4.12.0</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getOkhttp() { return getVersion("okhttp"); }
/**
* Version alias <b>retrofit</b> with value <b>2.11.0</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getRetrofit() { return getVersion("retrofit"); }
/**
* Version alias <b>retrofitKotlinxSerialization</b> with value <b>1.0.0</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getRetrofitKotlinxSerialization() { return getVersion("retrofitKotlinxSerialization"); }
/**
* Version alias <b>workRuntime</b> with value <b>2.10.0</b>
* <p>
* If the version is a rich version and cannot be represented as a
* single version string, an empty string is returned.
* <p>
* This version was declared in catalog libs.versions.toml
*/
public Provider<String> getWorkRuntime() { return getVersion("workRuntime"); }
}
public static class BundleAccessors extends BundleFactory {
public BundleAccessors(ObjectFactory objects, ProviderFactory providers, DefaultVersionCatalog config, ImmutableAttributesFactory attributesFactory, CapabilityNotationParser capabilityNotationParser) { super(objects, providers, config, attributesFactory, capabilityNotationParser); }
}
public static class PluginAccessors extends PluginFactory {
private final AndroidPluginAccessors paccForAndroidPluginAccessors = new AndroidPluginAccessors(providers, config);
private final KotlinPluginAccessors paccForKotlinPluginAccessors = new KotlinPluginAccessors(providers, config);
public PluginAccessors(ProviderFactory providers, DefaultVersionCatalog config) { super(providers, config); }
/**
* Plugin provider for <b>hilt</b> with plugin id <b>com.google.dagger.hilt.android</b> and
* with version reference <b>hilt</b>
* <p>
* This plugin was declared in catalog libs.versions.toml
*/
public Provider<PluginDependency> getHilt() { return createPlugin("hilt"); }
/**
* Group of plugins at <b>plugins.android</b>
*/
public AndroidPluginAccessors getAndroid() {
return paccForAndroidPluginAccessors;
}
/**
* Group of plugins at <b>plugins.kotlin</b>
*/
public KotlinPluginAccessors getKotlin() {
return paccForKotlinPluginAccessors;
}
}
public static class AndroidPluginAccessors extends PluginFactory {
public AndroidPluginAccessors(ProviderFactory providers, DefaultVersionCatalog config) { super(providers, config); }
/**
* Plugin provider for <b>android.application</b> with plugin id <b>com.android.application</b> and
* with version reference <b>agp</b>
* <p>
* This plugin was declared in catalog libs.versions.toml
*/
public Provider<PluginDependency> getApplication() { return createPlugin("android.application"); }
}
public static class KotlinPluginAccessors extends PluginFactory {
public KotlinPluginAccessors(ProviderFactory providers, DefaultVersionCatalog config) { super(providers, config); }
/**
* Plugin provider for <b>kotlin.android</b> with plugin id <b>org.jetbrains.kotlin.android</b> and
* with version reference <b>kotlin</b>
* <p>
* This plugin was declared in catalog libs.versions.toml
*/
public Provider<PluginDependency> getAndroid() { return createPlugin("kotlin.android"); }
/**
* Plugin provider for <b>kotlin.compose</b> with plugin id <b>org.jetbrains.kotlin.plugin.compose</b> and
* with version reference <b>kotlin</b>
* <p>
* This plugin was declared in catalog libs.versions.toml
*/
public Provider<PluginDependency> getCompose() { return createPlugin("kotlin.compose"); }
/**
* Plugin provider for <b>kotlin.serialization</b> with plugin id <b>org.jetbrains.kotlin.plugin.serialization</b> and
* with version reference <b>kotlin</b>
* <p>
* This plugin was declared in catalog libs.versions.toml
*/
public Provider<PluginDependency> getSerialization() { return createPlugin("kotlin.serialization"); }
}
}
Whitespace-only changes.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
Binary file not shown.
View File
Whitespace-only changes.
Binary file not shown.
@@ -0,0 +1,2 @@
#Wed Apr 15 08:34:01 CDT 2026
gradle.version=8.7
Binary file not shown.
+2
View File
@@ -0,0 +1,2 @@
#Wed Apr 15 08:33:22 CDT 2026
java.home=C\:\\Program Files\\Android\\Android Studio\\jbr
Binary file not shown.
View File
Whitespace-only changes.
+3
View File
@@ -0,0 +1,3 @@
# Default ignored files
/shelf/
/workspace.xml
+6
View 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>
+1610
View File
File diff suppressed because it is too large. Load diff
+123
View File
@@ -0,0 +1,123 @@
<component name="ProjectCodeStyleConfiguration">
<code_scheme name="Project" version="173">
<JetCodeStyleSettings>
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</JetCodeStyleSettings>
<codeStyleSettings language="XML">
<option name="FORCE_REARRANGE_MODE" value="1" />
<indentOptions>
<option name="CONTINUATION_INDENT_SIZE" value="4" />
</indentOptions>
<arrangement>
<rules>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:android</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>xmlns:.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:id</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*:name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>name</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>style</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>^$</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>http://schemas.android.com/apk/res/android</XML_NAMESPACE>
</AND>
</match>
<order>ANDROID_ATTRIBUTE_ORDER</order>
</rule>
</section>
<section>
<rule>
<match>
<AND>
<NAME>.*</NAME>
<XML_ATTRIBUTE />
<XML_NAMESPACE>.*</XML_NAMESPACE>
</AND>
</match>
<order>BY_NAME</order>
</rule>
</section>
</rules>
</arrangement>
</codeStyleSettings>
<codeStyleSettings language="kotlin">
<option name="CODE_STYLE_DEFAULTS" value="KOTLIN_OFFICIAL" />
</codeStyleSettings>
</code_scheme>
</component>
+5
View File
@@ -0,0 +1,5 @@
<component name="ProjectCodeStyleConfiguration">
<state>
<option name="USE_PER_PROJECT_SETTINGS" value="true" />
</state>
</component>
+6
View File
@@ -0,0 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="CompilerConfiguration">
<bytecodeTargetLevel target="21" />
</component>
</project>
+11
View File
@@ -0,0 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="deploymentTargetSelector">
<selectionStates>
<SelectionState runConfigName="app">
<option name="selectionMode" value="DROPDOWN" />
<DialogSelection />
</SelectionState>
</selectionStates>
</component>
</project>
+13
View File
@@ -0,0 +1,13 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="DeviceTable">
<option name="columnSorters">
<list>
<ColumnSorterState>
<option name="column" value="Name" />
<option name="order" value="ASCENDING" />
</ColumnSorterState>
</list>
</option>
</component>
</project>
+18
View File
@@ -0,0 +1,18 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<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>
+8
View File
@@ -0,0 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="MarkdownSettings">
<option name="previewPanelProviderInfo">
<ProviderInfo name="Compose (experimental)" className="com.intellij.markdown.compose.preview.ComposePanelProvider" />
</option>
</component>
</project>
+10
View 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>
+10
View File
@@ -0,0 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<project version="4">
<component name="ExternalStorageConfigurationManager" enabled="true" />
<component name="ProjectRootManager" version="2" languageLevel="JDK_21" 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
View 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>
+46
View File
@@ -0,0 +1,46 @@
kotlin version: 2.0.0
error message: Failed connecting to the daemon in 3 retries
error message: Daemon compilation failed: Could not connect to Kotlin compile daemon
java.lang.RuntimeException: Could not connect to Kotlin compile daemon
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemon(GradleKotlinCompilerWork.kt:214)
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.compileWithDaemonOrFallbackImpl(GradleKotlinCompilerWork.kt:159)
at org.jetbrains.kotlin.compilerRunner.GradleKotlinCompilerWork.run(GradleKotlinCompilerWork.kt:111)
at org.jetbrains.kotlin.compilerRunner.GradleCompilerRunnerWithWorkers$GradleKotlinCompilerWorkAction.execute(GradleCompilerRunnerWithWorkers.kt:76)
at org.gradle.workers.internal.DefaultWorkerServer.execute(DefaultWorkerServer.java:63)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:66)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1$1.create(NoIsolationWorkerFactory.java:62)
at org.gradle.internal.classloader.ClassLoaderUtils.executeInClassloader(ClassLoaderUtils.java:100)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.lambda$execute$0(NoIsolationWorkerFactory.java:62)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:44)
at org.gradle.workers.internal.AbstractWorker$1.call(AbstractWorker.java:41)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:200)
at org.gradle.internal.operations.DefaultBuildOperationRunner$CallableBuildOperationWorker.execute(DefaultBuildOperationRunner.java:195)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:66)
at org.gradle.internal.operations.DefaultBuildOperationRunner$2.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:157)
at org.gradle.internal.operations.DefaultBuildOperationRunner.execute(DefaultBuildOperationRunner.java:59)
at org.gradle.internal.operations.DefaultBuildOperationRunner.call(DefaultBuildOperationRunner.java:53)
at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:73)
at org.gradle.workers.internal.AbstractWorker.executeWrappedInBuildOperation(AbstractWorker.java:41)
at org.gradle.workers.internal.NoIsolationWorkerFactory$1.execute(NoIsolationWorkerFactory.java:59)
at org.gradle.workers.internal.DefaultWorkerExecutor.lambda$submitWork$0(DefaultWorkerExecutor.java:174)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runExecution(DefaultConditionalExecutionQueue.java:187)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.access$700(DefaultConditionalExecutionQueue.java:120)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner$1.run(DefaultConditionalExecutionQueue.java:162)
at org.gradle.internal.Factories$1.create(Factories.java:31)
at org.gradle.internal.work.DefaultWorkerLeaseService.withLocks(DefaultWorkerLeaseService.java:264)
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:128)
at org.gradle.internal.work.DefaultWorkerLeaseService.runAsWorkerThread(DefaultWorkerLeaseService.java:133)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.runBatch(DefaultConditionalExecutionQueue.java:157)
at org.gradle.internal.work.DefaultConditionalExecutionQueue$ExecutionRunner.run(DefaultConditionalExecutionQueue.java:126)
at java.base/java.util.concurrent.Executors$RunnableAdapter.call(Unknown Source)
at java.base/java.util.concurrent.FutureTask.run(Unknown Source)
at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
at org.gradle.internal.concurrent.AbstractManagedExecutor$1.run(AbstractManagedExecutor.java:47)
at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source)
at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source)
at java.base/java.lang.Thread.run(Unknown Source)
+142
View File
@@ -0,0 +1,142 @@
# Hoppie ACARS Android App
A native Android application for [Hoppie's ACARS network](https://www.hoppie.nl/acars/) built with Kotlin + Jetpack Compose.
## Features
| Feature | Details |
|---|---|
| **Live Message Feed** | Poll inbox with auto-scroll, filter by message type |
| **Compose Messages** | Telex, CPDLC, and custom message types |
| **Weather & ATIS** | METAR, TAF, VATSIM/IVAO/PilotEdge ATIS via inforeq |
| **PDC Templates** | Pre-Departure Clearance quick-fill form |
| **CPDLC Templates** | WILCO, UNABLE, ROGER, FL request shortcuts |
| **Auto-Polling** | Randomized 45–75s interval (per Hoppie spec) |
| **Background Worker** | WorkManager polling when app is backgrounded |
| **Persistent Settings** | Logon code + callsign saved to DataStore |
| **Dark Cockpit Theme** | Aviation-inspired color palette |
## Architecture
```
app/
└── java/com/hoppieacars/
├── HoppieApp.kt @HiltAndroidApp
├── MainActivity.kt NavHost + BottomNav
├── data/
│ ├── api/
│ │ ├── HoppieApiService.kt Retrofit interface
│ │ ├── HoppieResponseParser.kt Plain-text response parser
│ │ └── ScalarConverterFactory String body converter
│ ├── model/
│ │ └── Models.kt AcarsMessage, MessageType, etc.
│ └── repository/
│ ├── AcarsRepository.kt Business logic, message store
│ └── SettingsRepository.kt DataStore persistence
├── di/
│ └── NetworkModule.kt Hilt → OkHttp/Retrofit
├── ui/
│ ├── AcarsViewModel.kt StateFlow ViewModel
│ ├── Navigation.kt Screen routes
│ ├── screens/
│ │ ├── MessagesScreen.kt Live feed + filter chips
│ │ ├── ComposeScreen.kt Telex / CPDLC / custom
│ │ ├── WeatherScreen.kt METAR / TAF / ATIS
│ │ └── SettingsScreen.kt Logon + callsign config
│ ├── components/
│ │ └── SharedComponents.kt MessageCard, StatusDot, etc.
│ └── theme/
│ └── Theme.kt Dark aviation palette
└── util/
└── AcarsPollWorker.kt Background WorkManager worker
```
## Getting Started
### Prerequisites
- Android Studio Hedgehog (2023.1.1) or newer
- Android SDK 26+ (Android 8.0)
- A free Hoppie logon code: https://www.hoppie.nl/acars/system/register.html
### Build
1. Clone / unzip this project
2. Open in Android Studio
3. Let Gradle sync
4. Run on device or emulator (API 26+)
### First-Time Setup
1. Open **Settings** tab
2. Enter your **Hoppie Logon Code**
3. Enter your **Station Callsign** (e.g. `BAW123` for aircraft, `EGLL_GND` for ATC)
4. Tap **Save Settings**
5. Go to **Messages** tab and tap **START**
## Hoppie API Reference
Base URL: `https://www.hoppie.nl/acars/system/connect.html`
### Request Parameters
| Param | Description |
|---|---|
| `logon` | Secret logon code (≥24 chars) |
| `from` | Your callsign |
| `to` | Recipient callsign or `SERVER` |
| `type` | `poll`, `telex`, `cpdlc`, `ping`, `inforeq`, `posreq`, `position`, `progress` |
| `packet` | Message payload (empty for poll/ping) |
### Poll Response Format
```
ok ← no messages
ok {CALLSIGN type {payload}} {…} {…} ← one or more messages
error {reason} ← error
```
### Polling Rules (important!)
- Poll once per **45–75 seconds** (randomized to spread server load)
- After sending a message, may poll once after **20 seconds**
- **Don't poll until your station has sent its first message**
- Use `ping` (not `poll`) to test connectivity — ping doesn't register you as online
### Message Types
| Type | Direction | Description |
|---|---|---|
| `telex` | Both | General text messages |
| `cpdlc` | Both | Controller-Pilot Data Link Communications |
| `progress` | Aircraft → Dispatch | OUT/OFF/ON/IN times |
| `position` | Aircraft → Ground | Position reports |
| `posreq` | Either | Request a position report |
| `ping` | → Server | Link test (doesn't register online) |
| `inforeq` | → Server | Weather/ATIS requests |
### InfoReq Packet Format
```
metar KLAX
taf EGLL
shorttaf KJFK
vatatis EDDM
ivaoatis LFPG-GND
peatis KSAN
```
## Dependencies
| Library | Version | Purpose |
|---|---|---|
| Jetpack Compose BOM | 2024.08.00 | UI framework |
| Hilt | 2.51.1 | Dependency injection |
| Retrofit | 2.11.0 | HTTP client |
| OkHttp | 4.12.0 | Network layer |
| DataStore | 1.1.1 | Settings persistence |
| WorkManager | 2.9.1 | Background polling |
| Navigation Compose | 2.7.7 | Screen navigation |
## Notes
- The app uses **cleartext HTTP** (`android:usesCleartextTraffic="true"`) since the Hoppie server is HTTP only
- Logon codes expire after **3 months of inactivity** — any login renews them
- The in-memory message log holds up to **500 messages** and resets on process death
- CPDLC packet format follows ICAO FANS-1/A specification — see [Hoppie CPDLC docs](https://www.hoppie.nl/acars/system/cpdlc.html)
## License
MIT — free to use, modify, and redistribute.
+96
View File
@@ -0,0 +1,96 @@
plugins {
alias(libs.plugins.android.application)
alias(libs.plugins.kotlin.android)
alias(libs.plugins.kotlin.compose)
alias(libs.plugins.hilt)
alias(libs.plugins.kotlin.serialization)
kotlin("kapt")
}
android {
namespace = "com.hoppieacars"
compileSdk = 35
defaultConfig {
applicationId = "com.hoppieacars"
minSdk = 26
targetSdk = 35
versionCode = 1
versionName = "1.0.0"
testInstrumentationRunner = "androidx.test.runner.AndroidJUnitRunner"
}
buildTypes {
release {
isMinifyEnabled = true
isShrinkResources = true
proguardFiles(
getDefaultProguardFile("proguard-android-optimize.txt"),
"proguard-rules.pro"
)
}
}
compileOptions {
sourceCompatibility = JavaVersion.VERSION_17
targetCompatibility = JavaVersion.VERSION_17
}
kotlinOptions {
jvmTarget = "17"
}
buildFeatures {
compose = true
}
}
dependencies {
implementation(libs.androidx.core.ktx)
implementation(libs.androidx.appcompat)
implementation(libs.androidx.lifecycle.runtime.ktx)
implementation(libs.androidx.lifecycle.viewmodel.compose)
implementation(libs.androidx.lifecycle.runtime.compose)
implementation(libs.androidx.activity.compose)
implementation(platform(libs.androidx.compose.bom))
implementation(libs.androidx.ui)
implementation(libs.androidx.ui.graphics)
implementation(libs.androidx.ui.tooling.preview)
implementation(libs.androidx.material3)
implementation(libs.androidx.material.icons.extended)
implementation(libs.androidx.navigation.compose)
// Hilt DI
implementation(libs.hilt.android)
kapt(libs.hilt.compiler)
implementation(libs.hilt.navigation.compose)
// Networking
implementation(libs.retrofit)
implementation(libs.retrofit.kotlinx.serialization)
implementation(libs.okhttp)
implementation(libs.okhttp.logging)
// Serialization
implementation(libs.kotlinx.serialization.json)
implementation(libs.kotlinx.coroutines.android)
// DataStore
implementation(libs.datastore.preferences)
// WorkManager
implementation(libs.work.runtime.ktx)
implementation(libs.hilt.work)
kapt(libs.hilt.work.compiler)
implementation(libs.startup.runtime)
debugImplementation(libs.androidx.ui.tooling)
}
kapt {
correctErrorTypes = true
arguments {
arg("dagger.hilt.android.internal.disableAndroidSuperclassValidation", "true")
}
}
@@ -0,0 +1 @@
"-Xallow-no-source-files" "-classpath" "C:\\Users\\Justin\\Desktop\\projects\\HoppieACARSApp\\HoppieACARSApp\\app\\build\\intermediates\\compile_and_runtime_not_namespaced_r_class_jar\\debug\\processDebugResources\\R.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\ec4fd513d4540edd47347d685c56c672\\transformed\\appcompat-resources-1.7.0-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\d940ea5f8d0fa7e0b59108b6c5321d36\\transformed\\appcompat-1.7.0-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\e75b2085dd9fcee790a3bd36423e89d8\\transformed\\hilt-work-1.2.0-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\1d1a92e6f9fa63e6ead8e4b291d41cb2\\transformed\\hilt-navigation-compose-1.2.0-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\e977acb25a1cb28470c799e0d42cf38a\\transformed\\hilt-navigation-1.2.0-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\b6f023b273f003a87d0f9374a5916241\\transformed\\hilt-android-2.52-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\048bf3ba493cb73660e42eb9d9623577\\transformed\\fragment-1.5.4-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\25c4ceef47d1dcef7d29abc9ecfccf60\\transformed\\navigation-common-2.8.4-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\1b7a927e813619333849838ecf85921b\\transformed\\navigation-runtime-2.8.4-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\9541ecfc99953a49743c13f1b8b0825c\\transformed\\navigation-common-ktx-2.8.4-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\410772538113902d46c2b0580327f6bd\\transformed\\navigation-runtime-ktx-2.8.4-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\6c6d8da14c0b054e3c64f6945295900c\\transformed\\navigation-compose-2.8.4-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\1ea9edd9b6549a148fda40405e9c2bc7\\transformed\\activity-1.9.3-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\6cf3f1a60045b0d2a22126ad82309c29\\transformed\\activity-compose-1.9.3-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\86c09787c7bd98a18fcff96c3bb6959b\\transformed\\activity-ktx-1.9.3-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\0c7b8bd387a7015d97c2914b2bf1f0a3\\transformed\\material3-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\bbcd9c53d36e4cb57e7b53bb9a952d77\\transformed\\foundation-layout-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\48059121037223a81c4f498cda522546\\transformed\\material-ripple-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\f031d929557996ac517f2d24a7088a35\\transformed\\foundation-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\c3de66a626f70756e1a870f3a1dc048d\\transformed\\animation-core-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\03b709c31f16a881ef28315c4685359f\\transformed\\animation-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\82349f3d07f5056f21c35e7a0604c74f\\transformed\\ui-util-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\e94c65e7825ea48747926d1c1f75537b\\transformed\\ui-unit-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\cfd8608c0e1158b556298d91eab29ed1\\transformed\\ui-text-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\d3750476aee1cba5914d8d0f26716dde\\transformed\\ui-geometry-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\e53fe3d29585fda3a12a0b3559aba140\\transformed\\ui-tooling-data-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\c0d6cdcf5f77a06be03deb91a1bdc960\\transformed\\ui-tooling-preview-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\7936dad0b9794815bea9fbb7e94cbd0a\\transformed\\ui-graphics-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\3e73e07dbd863dc8e9f953113d9f81c1\\transformed\\ui-tooling-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\5c233120356eac4ab2bf4f8b56efd38e\\transformed\\material-icons-extended-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\0d70d97b9571cbc71bf58b92ae432ada\\transformed\\material-icons-core-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\e8f6ed768af08aa105e3bf95a4c2af18\\transformed\\ui-release-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\6b96b726eb226284cd15291be950ac3a\\transformed\\loader-1.0.0-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\2cc5748a2b21a4c088b5ce2a30413850\\transformed\\work-runtime-ktx-2.10.0-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\d088b0437a8d1ceab51705bc6033f36c\\transformed\\work-runtime-2.10.0-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\4188c42af7aea88c89ce0c5d3df73cf4\\transformed\\drawerlayout-1.0.0-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\9e06d6e13a524451f6d329109f0fd577\\transformed\\vectordrawable-animated-1.1.0-api.jar;C:\\Users\\Justin\\.gradle\\caches\\transforms-4\\f27438000fe91bc07e84d1f31ed21cfa\\transformed\\veLine truncated
@@ -0,0 +1,666 @@
package com.hoppieacars;
import android.app.Activity;
import android.app.Service;
import android.content.Context;
import android.view.View;
import androidx.fragment.app.Fragment;
import androidx.hilt.work.HiltWorkerFactory;
import androidx.hilt.work.WorkerAssistedFactory;
import androidx.hilt.work.WorkerFactoryModule_ProvideFactoryFactory;
import androidx.lifecycle.SavedStateHandle;
import androidx.lifecycle.ViewModel;
import androidx.work.ListenableWorker;
import androidx.work.WorkerParameters;
import com.hoppieacars.data.api.HoppieApiService;
import com.hoppieacars.data.repository.AcarsRepository;
import com.hoppieacars.data.repository.SettingsRepository;
import com.hoppieacars.di.NetworkModule_ProvideHoppieApiServiceFactory;
import com.hoppieacars.di.NetworkModule_ProvideOkHttpClientFactory;
import com.hoppieacars.di.NetworkModule_ProvideRetrofitFactory;
import com.hoppieacars.ui.AcarsViewModel;
import com.hoppieacars.ui.AcarsViewModel_HiltModules;
import com.hoppieacars.util.AcarsPollWorker;
import com.hoppieacars.util.AcarsPollWorker_AssistedFactory;
import dagger.hilt.android.ActivityRetainedLifecycle;
import dagger.hilt.android.ViewModelLifecycle;
import dagger.hilt.android.internal.builders.ActivityComponentBuilder;
import dagger.hilt.android.internal.builders.ActivityRetainedComponentBuilder;
import dagger.hilt.android.internal.builders.FragmentComponentBuilder;
import dagger.hilt.android.internal.builders.ServiceComponentBuilder;
import dagger.hilt.android.internal.builders.ViewComponentBuilder;
import dagger.hilt.android.internal.builders.ViewModelComponentBuilder;
import dagger.hilt.android.internal.builders.ViewWithFragmentComponentBuilder;
import dagger.hilt.android.internal.lifecycle.DefaultViewModelFactories;
import dagger.hilt.android.internal.lifecycle.DefaultViewModelFactories_InternalFactoryFactory_Factory;
import dagger.hilt.android.internal.managers.ActivityRetainedComponentManager_LifecycleModule_ProvideActivityRetainedLifecycleFactory;
import dagger.hilt.android.internal.managers.SavedStateHandleHolder;
import dagger.hilt.android.internal.modules.ApplicationContextModule;
import dagger.hilt.android.internal.modules.ApplicationContextModule_ProvideContextFactory;
import dagger.internal.DaggerGenerated;
import dagger.internal.DoubleCheck;
import dagger.internal.IdentifierNameString;
import dagger.internal.KeepFieldType;
import dagger.internal.LazyClassKeyMap;
import dagger.internal.Preconditions;
import dagger.internal.Provider;
import dagger.internal.SingleCheck;
import java.util.Collections;
import java.util.Map;
import java.util.Set;
import javax.annotation.processing.Generated;
import okhttp3.OkHttpClient;
import retrofit2.Retrofit;
@DaggerGenerated
@Generated(
value = "dagger.internal.codegen.ComponentProcessor",
comments = "https://dagger.dev"
)
@SuppressWarnings({
"unchecked",
"rawtypes",
"KotlinInternal",
"KotlinInternalInJava",
"cast",
"deprecation"
})
public final class DaggerHoppieApp_HiltComponents_SingletonC {
private DaggerHoppieApp_HiltComponents_SingletonC() {
}
public static Builder builder() {
return new Builder();
}
public static final class Builder {
private ApplicationContextModule applicationContextModule;
private Builder() {
}
public Builder applicationContextModule(ApplicationContextModule applicationContextModule) {
this.applicationContextModule = Preconditions.checkNotNull(applicationContextModule);
return this;
}
public HoppieApp_HiltComponents.SingletonC build() {
Preconditions.checkBuilderRequirement(applicationContextModule, ApplicationContextModule.class);
return new SingletonCImpl(applicationContextModule);
}
}
private static final class ActivityRetainedCBuilder implements HoppieApp_HiltComponents.ActivityRetainedC.Builder {
private final SingletonCImpl singletonCImpl;
private SavedStateHandleHolder savedStateHandleHolder;
private ActivityRetainedCBuilder(SingletonCImpl singletonCImpl) {
this.singletonCImpl = singletonCImpl;
}
@Override
public ActivityRetainedCBuilder savedStateHandleHolder(
SavedStateHandleHolder savedStateHandleHolder) {
this.savedStateHandleHolder = Preconditions.checkNotNull(savedStateHandleHolder);
return this;
}
@Override
public HoppieApp_HiltComponents.ActivityRetainedC build() {
Preconditions.checkBuilderRequirement(savedStateHandleHolder, SavedStateHandleHolder.class);
return new ActivityRetainedCImpl(singletonCImpl, savedStateHandleHolder);
}
}
private static final class ActivityCBuilder implements HoppieApp_HiltComponents.ActivityC.Builder {
private final SingletonCImpl singletonCImpl;
private final ActivityRetainedCImpl activityRetainedCImpl;
private Activity activity;
private ActivityCBuilder(SingletonCImpl singletonCImpl,
ActivityRetainedCImpl activityRetainedCImpl) {
this.singletonCImpl = singletonCImpl;
this.activityRetainedCImpl = activityRetainedCImpl;
}
@Override
public ActivityCBuilder activity(Activity activity) {
this.activity = Preconditions.checkNotNull(activity);
return this;
}
@Override
public HoppieApp_HiltComponents.ActivityC build() {
Preconditions.checkBuilderRequirement(activity, Activity.class);
return new ActivityCImpl(singletonCImpl, activityRetainedCImpl, activity);
}
}
private static final class FragmentCBuilder implements HoppieApp_HiltComponents.FragmentC.Builder {
private final SingletonCImpl singletonCImpl;
private final ActivityRetainedCImpl activityRetainedCImpl;
private final ActivityCImpl activityCImpl;
private Fragment fragment;
private FragmentCBuilder(SingletonCImpl singletonCImpl,
ActivityRetainedCImpl activityRetainedCImpl, ActivityCImpl activityCImpl) {
this.singletonCImpl = singletonCImpl;
this.activityRetainedCImpl = activityRetainedCImpl;
this.activityCImpl = activityCImpl;
}
@Override
public FragmentCBuilder fragment(Fragment fragment) {
this.fragment = Preconditions.checkNotNull(fragment);
return this;
}
@Override
public HoppieApp_HiltComponents.FragmentC build() {
Preconditions.checkBuilderRequirement(fragment, Fragment.class);
return new FragmentCImpl(singletonCImpl, activityRetainedCImpl, activityCImpl, fragment);
}
}
private static final class ViewWithFragmentCBuilder implements HoppieApp_HiltComponents.ViewWithFragmentC.Builder {
private final SingletonCImpl singletonCImpl;
private final ActivityRetainedCImpl activityRetainedCImpl;
private final ActivityCImpl activityCImpl;
private final FragmentCImpl fragmentCImpl;
private View view;
private ViewWithFragmentCBuilder(SingletonCImpl singletonCImpl,
ActivityRetainedCImpl activityRetainedCImpl, ActivityCImpl activityCImpl,
FragmentCImpl fragmentCImpl) {
this.singletonCImpl = singletonCImpl;
this.activityRetainedCImpl = activityRetainedCImpl;
this.activityCImpl = activityCImpl;
this.fragmentCImpl = fragmentCImpl;
}
@Override
public ViewWithFragmentCBuilder view(View view) {
this.view = Preconditions.checkNotNull(view);
return this;
}
@Override
public HoppieApp_HiltComponents.ViewWithFragmentC build() {
Preconditions.checkBuilderRequirement(view, View.class);
return new ViewWithFragmentCImpl(singletonCImpl, activityRetainedCImpl, activityCImpl, fragmentCImpl, view);
}
}
private static final class ViewCBuilder implements HoppieApp_HiltComponents.ViewC.Builder {
private final SingletonCImpl singletonCImpl;
private final ActivityRetainedCImpl activityRetainedCImpl;
private final ActivityCImpl activityCImpl;
private View view;
private ViewCBuilder(SingletonCImpl singletonCImpl, ActivityRetainedCImpl activityRetainedCImpl,
ActivityCImpl activityCImpl) {
this.singletonCImpl = singletonCImpl;
this.activityRetainedCImpl = activityRetainedCImpl;
this.activityCImpl = activityCImpl;
}
@Override
public ViewCBuilder view(View view) {
this.view = Preconditions.checkNotNull(view);
return this;
}
@Override
public HoppieApp_HiltComponents.ViewC build() {
Preconditions.checkBuilderRequirement(view, View.class);
return new ViewCImpl(singletonCImpl, activityRetainedCImpl, activityCImpl, view);
}
}
private static final class ViewModelCBuilder implements HoppieApp_HiltComponents.ViewModelC.Builder {
private final SingletonCImpl singletonCImpl;
private final ActivityRetainedCImpl activityRetainedCImpl;
private SavedStateHandle savedStateHandle;
private ViewModelLifecycle viewModelLifecycle;
private ViewModelCBuilder(SingletonCImpl singletonCImpl,
ActivityRetainedCImpl activityRetainedCImpl) {
this.singletonCImpl = singletonCImpl;
this.activityRetainedCImpl = activityRetainedCImpl;
}
@Override
public ViewModelCBuilder savedStateHandle(SavedStateHandle handle) {
this.savedStateHandle = Preconditions.checkNotNull(handle);
return this;
}
@Override
public ViewModelCBuilder viewModelLifecycle(ViewModelLifecycle viewModelLifecycle) {
this.viewModelLifecycle = Preconditions.checkNotNull(viewModelLifecycle);
return this;
}
@Override
public HoppieApp_HiltComponents.ViewModelC build() {
Preconditions.checkBuilderRequirement(savedStateHandle, SavedStateHandle.class);
Preconditions.checkBuilderRequirement(viewModelLifecycle, ViewModelLifecycle.class);
return new ViewModelCImpl(singletonCImpl, activityRetainedCImpl, savedStateHandle, viewModelLifecycle);
}
}
private static final class ServiceCBuilder implements HoppieApp_HiltComponents.ServiceC.Builder {
private final SingletonCImpl singletonCImpl;
private Service service;
private ServiceCBuilder(SingletonCImpl singletonCImpl) {
this.singletonCImpl = singletonCImpl;
}
@Override
public ServiceCBuilder service(Service service) {
this.service = Preconditions.checkNotNull(service);
return this;
}
@Override
public HoppieApp_HiltComponents.ServiceC build() {
Preconditions.checkBuilderRequirement(service, Service.class);
return new ServiceCImpl(singletonCImpl, service);
}
}
private static final class ViewWithFragmentCImpl extends HoppieApp_HiltComponents.ViewWithFragmentC {
private final SingletonCImpl singletonCImpl;
private final ActivityRetainedCImpl activityRetainedCImpl;
private final ActivityCImpl activityCImpl;
private final FragmentCImpl fragmentCImpl;
private final ViewWithFragmentCImpl viewWithFragmentCImpl = this;
private ViewWithFragmentCImpl(SingletonCImpl singletonCImpl,
ActivityRetainedCImpl activityRetainedCImpl, ActivityCImpl activityCImpl,
FragmentCImpl fragmentCImpl, View viewParam) {
this.singletonCImpl = singletonCImpl;
this.activityRetainedCImpl = activityRetainedCImpl;
this.activityCImpl = activityCImpl;
this.fragmentCImpl = fragmentCImpl;
}
}
private static final class FragmentCImpl extends HoppieApp_HiltComponents.FragmentC {
private final SingletonCImpl singletonCImpl;
private final ActivityRetainedCImpl activityRetainedCImpl;
private final ActivityCImpl activityCImpl;
private final FragmentCImpl fragmentCImpl = this;
private FragmentCImpl(SingletonCImpl singletonCImpl,
ActivityRetainedCImpl activityRetainedCImpl, ActivityCImpl activityCImpl,
Fragment fragmentParam) {
this.singletonCImpl = singletonCImpl;
this.activityRetainedCImpl = activityRetainedCImpl;
this.activityCImpl = activityCImpl;
}
@Override
public DefaultViewModelFactories.InternalFactoryFactory getHiltInternalFactoryFactory() {
return activityCImpl.getHiltInternalFactoryFactory();
}
@Override
public ViewWithFragmentComponentBuilder viewWithFragmentComponentBuilder() {
return new ViewWithFragmentCBuilder(singletonCImpl, activityRetainedCImpl, activityCImpl, fragmentCImpl);
}
}
private static final class ViewCImpl extends HoppieApp_HiltComponents.ViewC {
private final SingletonCImpl singletonCImpl;
private final ActivityRetainedCImpl activityRetainedCImpl;
private final ActivityCImpl activityCImpl;
private final ViewCImpl viewCImpl = this;
private ViewCImpl(SingletonCImpl singletonCImpl, ActivityRetainedCImpl activityRetainedCImpl,
ActivityCImpl activityCImpl, View viewParam) {
this.singletonCImpl = singletonCImpl;
this.activityRetainedCImpl = activityRetainedCImpl;
this.activityCImpl = activityCImpl;
}
}
private static final class ActivityCImpl extends HoppieApp_HiltComponents.ActivityC {
private final SingletonCImpl singletonCImpl;
private final ActivityRetainedCImpl activityRetainedCImpl;
private final ActivityCImpl activityCImpl = this;
private ActivityCImpl(SingletonCImpl singletonCImpl,
ActivityRetainedCImpl activityRetainedCImpl, Activity activityParam) {
this.singletonCImpl = singletonCImpl;
this.activityRetainedCImpl = activityRetainedCImpl;
}
@Override
public void injectMainActivity(MainActivity arg0) {
}
@Override
public DefaultViewModelFactories.InternalFactoryFactory getHiltInternalFactoryFactory() {
return DefaultViewModelFactories_InternalFactoryFactory_Factory.newInstance(getViewModelKeys(), new ViewModelCBuilder(singletonCImpl, activityRetainedCImpl));
}
@Override
public Map<Class<?>, Boolean> getViewModelKeys() {
return LazyClassKeyMap.<Boolean>of(Collections.<String, Boolean>singletonMap(LazyClassKeyProvider.com_hoppieacars_ui_AcarsViewModel, AcarsViewModel_HiltModules.KeyModule.provide()));
}
@Override
public ViewModelComponentBuilder getViewModelComponentBuilder() {
return new ViewModelCBuilder(singletonCImpl, activityRetainedCImpl);
}
@Override
public FragmentComponentBuilder fragmentComponentBuilder() {
return new FragmentCBuilder(singletonCImpl, activityRetainedCImpl, activityCImpl);
}
@Override
public ViewComponentBuilder viewComponentBuilder() {
return new ViewCBuilder(singletonCImpl, activityRetainedCImpl, activityCImpl);
}
@IdentifierNameString
private static final class LazyClassKeyProvider {
static String com_hoppieacars_ui_AcarsViewModel = "com.hoppieacars.ui.AcarsViewModel";
@KeepFieldType
AcarsViewModel com_hoppieacars_ui_AcarsViewModel2;
}
}
private static final class ViewModelCImpl extends HoppieApp_HiltComponents.ViewModelC {
private final SingletonCImpl singletonCImpl;
private final ActivityRetainedCImpl activityRetainedCImpl;
private final ViewModelCImpl viewModelCImpl = this;
private Provider<AcarsViewModel> acarsViewModelProvider;
private ViewModelCImpl(SingletonCImpl singletonCImpl,
ActivityRetainedCImpl activityRetainedCImpl, SavedStateHandle savedStateHandleParam,
ViewModelLifecycle viewModelLifecycleParam) {
this.singletonCImpl = singletonCImpl;
this.activityRetainedCImpl = activityRetainedCImpl;
initialize(savedStateHandleParam, viewModelLifecycleParam);
}
@SuppressWarnings("unchecked")
private void initialize(final SavedStateHandle savedStateHandleParam,
final ViewModelLifecycle viewModelLifecycleParam) {
this.acarsViewModelProvider = new SwitchingProvider<>(singletonCImpl, activityRetainedCImpl, viewModelCImpl, 0);
}
@Override
public Map<Class<?>, javax.inject.Provider<ViewModel>> getHiltViewModelMap() {
return LazyClassKeyMap.<javax.inject.Provider<ViewModel>>of(Collections.<String, javax.inject.Provider<ViewModel>>singletonMap(LazyClassKeyProvider.com_hoppieacars_ui_AcarsViewModel, ((Provider) acarsViewModelProvider)));
}
@Override
public Map<Class<?>, Object> getHiltViewModelAssistedMap() {
return Collections.<Class<?>, Object>emptyMap();
}
@IdentifierNameString
private static final class LazyClassKeyProvider {
static String com_hoppieacars_ui_AcarsViewModel = "com.hoppieacars.ui.AcarsViewModel";
@KeepFieldType
AcarsViewModel com_hoppieacars_ui_AcarsViewModel2;
}
private static final class SwitchingProvider<T> implements Provider<T> {
private final SingletonCImpl singletonCImpl;
private final ActivityRetainedCImpl activityRetainedCImpl;
private final ViewModelCImpl viewModelCImpl;
private final int id;
SwitchingProvider(SingletonCImpl singletonCImpl, ActivityRetainedCImpl activityRetainedCImpl,
ViewModelCImpl viewModelCImpl, int id) {
this.singletonCImpl = singletonCImpl;
this.activityRetainedCImpl = activityRetainedCImpl;
this.viewModelCImpl = viewModelCImpl;
this.id = id;
}
@SuppressWarnings("unchecked")
@Override
public T get() {
switch (id) {
case 0: // com.hoppieacars.ui.AcarsViewModel
return (T) new AcarsViewModel(singletonCImpl.acarsRepositoryProvider.get(), singletonCImpl.settingsRepositoryProvider.get());
default: throw new AssertionError(id);
}
}
}
}
private static final class ActivityRetainedCImpl extends HoppieApp_HiltComponents.ActivityRetainedC {
private final SingletonCImpl singletonCImpl;
private final ActivityRetainedCImpl activityRetainedCImpl = this;
private Provider<ActivityRetainedLifecycle> provideActivityRetainedLifecycleProvider;
private ActivityRetainedCImpl(SingletonCImpl singletonCImpl,
SavedStateHandleHolder savedStateHandleHolderParam) {
this.singletonCImpl = singletonCImpl;
initialize(savedStateHandleHolderParam);
}
@SuppressWarnings("unchecked")
private void initialize(final SavedStateHandleHolder savedStateHandleHolderParam) {
this.provideActivityRetainedLifecycleProvider = DoubleCheck.provider(new SwitchingProvider<ActivityRetainedLifecycle>(singletonCImpl, activityRetainedCImpl, 0));
}
@Override
public ActivityComponentBuilder activityComponentBuilder() {
return new ActivityCBuilder(singletonCImpl, activityRetainedCImpl);
}
@Override
public ActivityRetainedLifecycle getActivityRetainedLifecycle() {
return provideActivityRetainedLifecycleProvider.get();
}
private static final class SwitchingProvider<T> implements Provider<T> {
private final SingletonCImpl singletonCImpl;
private final ActivityRetainedCImpl activityRetainedCImpl;
private final int id;
SwitchingProvider(SingletonCImpl singletonCImpl, ActivityRetainedCImpl activityRetainedCImpl,
int id) {
this.singletonCImpl = singletonCImpl;
this.activityRetainedCImpl = activityRetainedCImpl;
this.id = id;
}
@SuppressWarnings("unchecked")
@Override
public T get() {
switch (id) {
case 0: // dagger.hilt.android.ActivityRetainedLifecycle
return (T) ActivityRetainedComponentManager_LifecycleModule_ProvideActivityRetainedLifecycleFactory.provideActivityRetainedLifecycle();
default: throw new AssertionError(id);
}
}
}
}
private static final class ServiceCImpl extends HoppieApp_HiltComponents.ServiceC {
private final SingletonCImpl singletonCImpl;
private final ServiceCImpl serviceCImpl = this;
private ServiceCImpl(SingletonCImpl singletonCImpl, Service serviceParam) {
this.singletonCImpl = singletonCImpl;
}
}
private static final class SingletonCImpl extends HoppieApp_HiltComponents.SingletonC {
private final ApplicationContextModule applicationContextModule;
private final SingletonCImpl singletonCImpl = this;
private Provider<OkHttpClient> provideOkHttpClientProvider;
private Provider<Retrofit> provideRetrofitProvider;
private Provider<HoppieApiService> provideHoppieApiServiceProvider;
private Provider<AcarsRepository> acarsRepositoryProvider;
private Provider<SettingsRepository> settingsRepositoryProvider;
private Provider<AcarsPollWorker_AssistedFactory> acarsPollWorker_AssistedFactoryProvider;
private SingletonCImpl(ApplicationContextModule applicationContextModuleParam) {
this.applicationContextModule = applicationContextModuleParam;
initialize(applicationContextModuleParam);
}
private Map<String, javax.inject.Provider<WorkerAssistedFactory<? extends ListenableWorker>>> mapOfStringAndProviderOfWorkerAssistedFactoryOf(
) {
return Collections.<String, javax.inject.Provider<WorkerAssistedFactory<? extends ListenableWorker>>>singletonMap("com.hoppieacars.util.AcarsPollWorker", ((Provider) acarsPollWorker_AssistedFactoryProvider));
}
private HiltWorkerFactory hiltWorkerFactory() {
return WorkerFactoryModule_ProvideFactoryFactory.provideFactory(mapOfStringAndProviderOfWorkerAssistedFactoryOf());
}
@SuppressWarnings("unchecked")
private void initialize(final ApplicationContextModule applicationContextModuleParam) {
this.provideOkHttpClientProvider = DoubleCheck.provider(new SwitchingProvider<OkHttpClient>(singletonCImpl, 4));
this.provideRetrofitProvider = DoubleCheck.provider(new SwitchingProvider<Retrofit>(singletonCImpl, 3));
this.provideHoppieApiServiceProvider = DoubleCheck.provider(new SwitchingProvider<HoppieApiService>(singletonCImpl, 2));
this.acarsRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<AcarsRepository>(singletonCImpl, 1));
this.settingsRepositoryProvider = DoubleCheck.provider(new SwitchingProvider<SettingsRepository>(singletonCImpl, 5));
this.acarsPollWorker_AssistedFactoryProvider = SingleCheck.provider(new SwitchingProvider<AcarsPollWorker_AssistedFactory>(singletonCImpl, 0));
}
@Override
public void injectHoppieApp(HoppieApp hoppieApp) {
injectHoppieApp2(hoppieApp);
}
@Override
public Set<Boolean> getDisableFragmentGetContextFix() {
return Collections.<Boolean>emptySet();
}
@Override
public ActivityRetainedComponentBuilder retainedComponentBuilder() {
return new ActivityRetainedCBuilder(singletonCImpl);
}
@Override
public ServiceComponentBuilder serviceComponentBuilder() {
return new ServiceCBuilder(singletonCImpl);
}
private HoppieApp injectHoppieApp2(HoppieApp instance) {
HoppieApp_MembersInjector.injectWorkerFactory(instance, hiltWorkerFactory());
return instance;
}
private static final class SwitchingProvider<T> implements Provider<T> {
private final SingletonCImpl singletonCImpl;
private final int id;
SwitchingProvider(SingletonCImpl singletonCImpl, int id) {
this.singletonCImpl = singletonCImpl;
this.id = id;
}
@SuppressWarnings("unchecked")
@Override
public T get() {
switch (id) {
case 0: // com.hoppieacars.util.AcarsPollWorker_AssistedFactory
return (T) new AcarsPollWorker_AssistedFactory() {
@Override
public AcarsPollWorker create(Context appContext, WorkerParameters workerParams) {
return new AcarsPollWorker(appContext, workerParams, singletonCImpl.acarsRepositoryProvider.get(), singletonCImpl.settingsRepositoryProvider.get());
}
};
case 1: // com.hoppieacars.data.repository.AcarsRepository
return (T) new AcarsRepository(singletonCImpl.provideHoppieApiServiceProvider.get());
case 2: // com.hoppieacars.data.api.HoppieApiService
return (T) NetworkModule_ProvideHoppieApiServiceFactory.provideHoppieApiService(singletonCImpl.provideRetrofitProvider.get());
case 3: // retrofit2.Retrofit
return (T) NetworkModule_ProvideRetrofitFactory.provideRetrofit(singletonCImpl.provideOkHttpClientProvider.get());
case 4: // okhttp3.OkHttpClient
return (T) NetworkModule_ProvideOkHttpClientFactory.provideOkHttpClient();
case 5: // com.hoppieacars.data.repository.SettingsRepository
return (T) new SettingsRepository(ApplicationContextModule_ProvideContextFactory.provideContext(singletonCImpl.applicationContextModule));
default: throw new AssertionError(id);
}
}
}
}
}
Loaded 100 of 1738 files, more files were not shown because too many files have changed in this diff. Show more