// 
// Decompiled by Procyon v0.6.0
// 

package com.google.protobuf;

final class Android
{
    private static boolean ASSUME_ANDROID;
    static boolean assumeLiteRuntime;
    private static final Class<?> MEMORY_CLASS;
    private static final boolean IS_ROBOLECTRIC;
    
    private Android() {
    }
    
    static boolean isOnAndroidDevice() {
        return Android.ASSUME_ANDROID || (Android.MEMORY_CLASS != null && !Android.IS_ROBOLECTRIC);
    }
    
    static Class<?> getMemoryClass() {
        return Android.MEMORY_CLASS;
    }
    
    private static <T> Class<T> getClassForName(final String name) {
        try {
            return (Class<T>)Class.forName(name);
        }
        catch (final Throwable e) {
            return null;
        }
    }
    
    static {
        Android.assumeLiteRuntime = false;
        MEMORY_CLASS = getClassForName("libcore.io.Memory");
        IS_ROBOLECTRIC = (!Android.ASSUME_ANDROID && getClassForName("org.robolectric.Robolectric") != null);
    }
}
