Gendalf icon indicating copy to clipboard operation
Gendalf copied to clipboard

Does not import inner classes in generated code

Open Doctoror opened this issue 7 years ago • 0 comments

Gendalf 1.3.0 Android Studio 2.2.1 Gradle plugin 2.2.1 Android APT 1.8

Consider this case.

import android.media.audiofx.Equalizer;

@PrefsConfig("AudioEffectsPrefs")
public class AudioEffectsPrefsConfig {

    @CustomPref(EqualizerSettingsConverter.class) Equalizer.Settings equalizerSettings;

    static final class EqualizerSettingsConverter
            implements Converter<Equalizer.Settings, String> {

        @Override
        public String serialize(@Nullable final Equalizer.Settings settings) {
            // Real code omitted
            return null;
        }

        @Override
        public Equalizer.Settings deserialize(@Nullable final String s) {
            // Real code omitted
            return null;
        }
    }
}

In the generated class, Settings is not imported properly:

import android.media.audiofx.Equalizer; // Imported Equalizer instead of Equalizer.Settings

static {
    KEYS.put(KEY_EQUALIZER_SETTINGS, Settings.class); //Error:(27, 38) error: cannot find symbol class Settings
}

Doctoror avatar Oct 23 '16 14:10 Doctoror