CtxUtils.java 1.43 KB
package com.polysoft.nafmii.utils;

import android.app.Application;
import android.content.pm.PackageInfo;
import android.content.pm.PackageManager;
import android.content.res.AssetManager;
import android.os.Environment;

import java.io.File;
import java.io.IOException;
import java.io.InputStream;

public class CtxUtils {

    private static Application application;

    public static void setApplication(Application application) {
        CtxUtils.application = application;
    }

    public static Application getApplication() {
        return CtxUtils.application;
    }

    public static AssetManager getAssetsManager() {
        return getApplication().getAssets();
    }

    public static InputStream openAssetsFile(String fileName) throws IOException {
        return getAssetsManager().open(fileName);
    }

    public static <T> T getSystemService(Class<T> c) {
        return getApplication().getSystemService(c);
    }

    public static File getDownloadDir() {
        return getApplication().getExternalFilesDir(Environment.DIRECTORY_DOWNLOADS);
    }


    public static PackageInfo getPackageInfo() {
        PackageManager manager = getApplication().getPackageManager();
        String name = getApplication().getPackageName();
        try {
            return manager.getPackageInfo(name, 0);
        } catch (PackageManager.NameNotFoundException e) {
            e.printStackTrace();
        }
        return new PackageInfo();
    }


}